在使用composer autoload命名空间时需要帮助

时间:2014-01-10 06:02:50

标签: php namespaces composer-php

我的简单课程如下:

<?php
require_once '../../vendor/autoload.php';
use App\Libraries\user;


class chat{

    private $user;

    public function __constuct(){
        $this->user = new user();       
    }
    public function adduser(){
        //userdata is available
        $userobj = $this->user->adduser($userdata);
    }
}

我正在尝试创建用户类的实例但不知何故它给了我error.Fatal错误:在/var/www/app/controller/chat.php上的非对象上调用成员函数adduser() 14.我已经检查了作曲家的autoload_classmap文件,我可以看到用户类的映射,如:

'App\\Libraries\\user' => $baseDir . '/app/libraries/User.php',
'App\\Libraries\\DBConnection' => $baseDir . '/app/libraries/Database.php',

我不确定这里缺少什么来使用命名空间在'chat'类中获取用户对象的实例。

用户类:

<?php
use App\Libraries\DBConnection;
class user{
    public function __construct(){
        $this->db = new DBConnection();
    }

    public function adduser($user){
    //insert operation
    }
}

1 个答案:

答案 0 :(得分:0)

这很奇怪。我过去遇到过类似的问题,不幸的是我不记得确切的修复......

我会检查文件权限。

尝试在composer.json的psr-0部分添加一个条目来尝试不同的命名空间。

如果使用symfony,请检查app-cache。

如果解决方案回复给我,我会发布更多信息。对不起,我现阶段无法提供更多帮助。