villiwalla
@villiwalla
HTML-верстка

Composer не загружает классы, указанные в autoload, почему?

index.php
require_once '../vendor/autoload.php';
$router = components\Router::getInstance();


Router
namespace components;
use controllers;

class Router {
....
public function init($routes) {
.....
 $obj = new $controller_name;  // HomeController
 $result = call_user_func($obj->$controller[1]); // index
.....


composer.json
После добавления psr было:
composer dumpautoload -o
и
composer dumpautoload
"autoload": {
        "psr-0": {
            "components\\": "components/",
            "controllers\\": "controllers/",
            "models\\": "models/"
        }
    }


Структура:
./components
./controllers
./models
./web/
./web/index.php

Ошибка:
Fatal error: Class 'HomeController' not found
  • Вопрос задан
  • 829 просмотров
Решения вопроса 1
Fatal error: Class 'HomeController' not found

у вас в переменной controller_name лежит 'HomeController' без неймспейса, и могу предположить что реально он у вас в неймспейсе controllers. в таком случае композер тут не при чем.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы