我的简单类看起来像这样:
<?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,请检查应用程序缓存。
如果解决方案回到我身边,我会发布更多。抱歉,我在这个阶段不能提供更多帮助。