Я просто пытаюсь создать пакет для 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?
Я думаю, что есть проблема с composer.json
файл в вашем модуле. Это говорит:
"autoload": {
"psr-0": {
"Zf2auth": "./"}
}
и, глядя на структуру каталогов, это должно быть:
"autoload": {
"psr-0": {
"Zf2auth\\": "src"}
}
Это работает в вашем ./modules/
Дир из-за getAutoloaderConfig
у вас есть в вашем модуле класса — это сделано ZF2. Однако, когда вы загружаете модуль через composer, автозагрузка (вероятно) get выполняется composer, и в вашем манифесте composer используется определение автозагрузки (неверное). Вы также можете запустить композиторов dump
команда afterwords, чтобы обновить автозагрузку классов.
Других решений пока нет …