我的简单课程如下:
<?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
}
}
答案 0 :(得分:0)
这很奇怪。我过去遇到过类似的问题,不幸的是我不记得确切的修复......
我会检查文件权限。
尝试在composer.json的psr-0部分添加一个条目来尝试不同的命名空间。
如果使用symfony,请检查app-cache。
如果解决方案回复给我,我会发布更多信息。对不起,我现阶段无法提供更多帮助。