Опять убрал слеш перед тут
"MyProject\\": "src/MyProject/"
сделал composer dump-autoload (хоть делал так уже раза 3!!!) и все заработало ))) просто ппц. пол дня убил!
Всем спасибо!
если в ClassLoader.php прописать
то нужный класс все же находит и подключается, но дальше уже по цепочке не может найти следующий...
Fatal error: Class 'MyProject\Controllers\AbstractController' not found in D:\OpenServer\domains\MyProject\src\MyProject\Controllers\MainController.php on line 6
Далее смотрю что приходит в функцию findFileWithExtension
Вот что получил
А в
$this->prefixDirsPsr4[$search]
уже NULL, поэтому и не находит
что странно, ведь в
$this->prefixDirsPsr4
у меня массив
array(1) { ["Myproject\"]=> array(1) { [0]=> string(14) "/src/MyProject" }}
следовательно
на второй итерации будет как раз внутренний массив
array(1) { [0]=> string(14) "/src/MyProject" }
ClassLoader.php
если прописать вардамп в начале и в конце, то видно что в функцию приходит правильный неймспейс, но файл класса почему то найти эта функция не может
Вот пример
Там по сути тоже что я прописал в компостер джсон
Еще раз. Попробуй убрать ведущий слэш, там где src. Потом "composer dump-autoload"
И еще - попробуй автолоад подключить вот так:
require_once __DIR__ . '/vendor/autoload.php';
1. где src слеш убрал, composer dump-autoload сделал, ничгео не изменилось
2. то что vendor/autoload.php у меня подключен верно, я проверял так - вывел вардамп в
autoload_real.php
вывод в браузере получил
Там только это
Свою автозагрузку отключил, вендор подключил
получаю ошибку
Fatal error: Uncaught Error: Class 'MyProject\Controllers\MainController' not found in D:\OpenServer\domains\MyProject\www\index.php:28 Stack trace: #0 {main} thrown in D:\OpenServer\domains\MyProject\www\index.php on line 28