Для проекта, над которым я работаю, я хотел бы создать пакет «Core», содержащий несколько меньших пакетов, например, laravel с его каркасом. структура папок будет что-то вроде этого,Laravel framework как пакет, дамп-автозагрузка не работает
Package1: gybrus/core/src/Gybrus/Package1
Package2: gybrus/core/src/Gybrus/Package1
После выполнения некоторых исследований я заметил, это может быть достигнуто с композитором, если я не ошибаюсь, но это также, где он ломает для меня. В настоящее время у меня есть несколько файлов composer.json, но после запуска команды «php artisan dump-autoload» классы не добавляются в файлы автозагрузки. Поэтому мне интересно, добавляет ли рамка Laravel дополнительную магию, чтобы это произошло.
Заранее благодарен!
Это моя текущая настройка, я изменил имена пакетов, чтобы не рекламировать что-либо;) Первый файл-композитор находится в папке «core» рядом с папкой «src».
{
"name": "gybrus/core",
"description": "The Core",
"keywords": ["core"],
"authors": [
{
"name": "Kevin Dierkx",
"email": "[email protected]"
}
],
"require": {
"php": ">=5.3.0",
"laravel/framework": "4.0.x"
},
"replace": {
"gybrus/package1": "self.version"
},
"require-dev": {
"mockery/mockery": "dev-master",
"phpunit/phpunit": "3.7.*"
},
"autoload": {
"psr-0": {
"Gybrus": "src/"
}
},
"minimum-stability": "dev"
}
Второй файл композитор находится в папке упаковке1:
{
"name": "gybrus/package1",
"authors": [
{
"name": "Gybrus",
"email": "[email protected]"
}
],
"require": {
"php": ">=5.3.0",
"illuminate/support": "4.0.x"
},
"autoload": {
"psr-0": {"Gybrus\\Package1": ""}
},
"target-dir": "Gybrus/Package1",
"minimum-stability": "dev"
}
Er - у вас есть несколько композитных файлов в одном пакете? – Danack
Да, этот пакет содержит несколько меньших пакетов. Рамка laravel делает что-то подобное, проблема заключается в том, что я не понимаю, как это работает, как в larvel framework. –