在使用具有作曲家自动加载功能的命名空间时需要帮助



我的简单类看起来像这样:

<?php
require_once '../../vendor/autoload.php';
use AppLibrariesuser;

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

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

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

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

用户类:

<?php
use AppLibrariesDBConnection;
class user{
    public function __construct(){
        $this->db = new DBConnection();
    }
    public function adduser($user){
    //insert operation
    }
}

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

我会检查文件权限。

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

如果使用symfony,请检查应用程序缓存。

如果解决方案回到我身边,我会发布更多。抱歉,我在这个阶段不能提供更多帮助。

相关内容

  • 没有找到相关文章

最新更新