Как работает автозагрузчик в Zend Framework 2

Я просто пытаюсь создать пакет для packagist, модуля аутентификации пользователя Zend Framework 2, https://packagist.org/packages/tahmina8765/zf2auth

Когда я храню эту папку zf2auth в папке с моими модулями, она работает. Но когда я загружаю его с помощью composer, он загружается в vendor / tahmina8765 / zf2auth.
В этой папке это не работает. Я имею в виду, я добавил этот модуль в application.config.php —

'modules' => array(
...
'Zf2auth'
),

но здесь это не работает. Если я буду держать это на шаг впереди, т.е. vendor / zf2auth снова работает.

Как я могу сделать это работоспособным в папке vendor / tahmina8765 / zf2auth?

0

Решение

Я думаю, что есть проблема с composer.json файл в вашем модуле. Это говорит:

"autoload": {
"psr-0": {
"Zf2auth": "./"}
}

и, глядя на структуру каталогов, это должно быть:

"autoload": {
"psr-0": {
"Zf2auth\\": "src"}
}

Это работает в вашем ./modules/ Дир из-за getAutoloaderConfig у вас есть в вашем модуле класса — это сделано ZF2. Однако, когда вы загружаете модуль через composer, автозагрузка (вероятно) get выполняется composer, и в вашем манифесте composer используется определение автозагрузки (неверное). Вы также можете запустить композиторов dump команда afterwords, чтобы обновить автозагрузку классов.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]