Dram

Рейтинг
1115
Регистрация
28.06.2008
livetv #:
Наверно потому что у вас таки остался путь с / в начале

Опять убрал слеш перед тут

"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"
  }
}

следовательно 

$this->prefixDirsPsr4[$search]

на второй итерации будет как раз  внутренний массив

  array(1) {
    [0]=>
    string(14) "/src/MyProject"
  }
В файле 
ClassLoader.php

если прописать вардамп  в начале и в конце, то видно что в функцию приходит правильный неймспейс, но файл класса почему то найти эта функция не может



Вот пример


Там по сути тоже что я прописал в компостер джсон


Sevix #:

Еще раз. Попробуй убрать ведущий слэш, там где 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
Всего: 6928