2014-01-10 2 views
0

Мой простой класс выглядит следующим образом:Нужна помощь в использовании пространств имен с композитором автозагрузку

<?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 ошибка: Вызов функции члена AddUser() на не-объект в /var/www/app/controller/chat.php на линии 14. Я проверил в файле autoload_classmap композитора, и я могу видеть отображение для пользовательского класса, как:

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

I я не уверен, что здесь отсутствует, чтобы получить экземпляр пользовательского объекта в классе «chat» с использованием пространства имен.

класс пользователей:

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

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

ответ

0

Это странно. У меня была аналогичная проблема в прошлом, к сожалению, я не помню точного исправления ...

Я бы проверял права доступа к файлам.

Попробуйте добавить запись в раздел psr-0 в composer.json, чтобы попробовать другое пространство имен.

Если вы используете symfony, проверьте кэш приложения.

Я отправлю сообщение, если решение вернется ко мне. Извините, что я не могу быть более полезным на этом этапе.

Смежные вопросы