【问题标题】:Need help in using namespaces with composer autoload在使用带有 composer autoload 的命名空间方面需要帮助
【发布时间】:2014-01-29 00:10:45
【问题描述】:

我的简单类如下所示:

<?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);
    }
}

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

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

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

用户类别:

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

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

【问题讨论】:

    标签: php namespaces composer-php


    【解决方案1】:

    这很奇怪。我过去也遇到过类似的问题,不幸的是我不记得确切的解决方法...

    我会检查文件权限。

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

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

    如果解决方案返回给我,我会发布更多信息。抱歉,在这个阶段我无法提供更多帮助。

    【讨论】:

      猜你喜欢
      • 2017-07-15
      • 2011-07-24
      • 2011-01-05
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      相关资源
      最近更新 更多