autoload php composer не видит класс

12
Sevix
На сайте с 24.10.2011
Offline
93
#11

А в vendor\composer\autoload_psr4.php есть классы?

D
На сайте с 28.06.2008
Offline
1108
#12

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


Sevix
На сайте с 24.10.2011
Offline
93
#13
А неймспэйс у класса как прописываешь?
D
На сайте с 28.06.2008
Offline
1108
#14

Вот пример


Sevix
На сайте с 24.10.2011
Offline
93
#15
Потер
D
На сайте с 28.06.2008
Offline
1108
#16
В файле 
ClassLoader.php

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



D
На сайте с 28.06.2008
Offline
1108
#17

Далее смотрю что приходит в функцию 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"
  }
D
На сайте с 28.06.2008
Offline
1108
#18

если в ClassLoader.php прописать 

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

Fatal error: Class 'MyProject\Controllers\AbstractController' not found in D:\OpenServer\domains\MyProject\src\MyProject\Controllers\MainController.php on line 6
L
На сайте с 10.02.2015
Offline
248
#19
Наверно потому что у вас таки остался путь с / в начале
D
На сайте с 28.06.2008
Offline
1108
#20
livetv #:
Наверно потому что у вас таки остался путь с / в начале

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

"MyProject\\": "src/MyProject/"

сделал composer dump-autoload (хоть делал так уже раза 3!!!) и все заработало ))) просто ппц. пол дня убил!

Всем спасибо!

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий