Laravel 5 ясность разработки пакета
Я читал несколько статей в сети о разработке пакетов, но не могу полностью обдумать основные настройки. Я написал плагины jQuery с выпусками и опубликовал их в Bower, поэтому, возможно, я просто не понимаю разницу с Laravel.
С jQuery-плагином dev я бы просто исключил мои зависимости, необходимые для dev, через bower.json, чтобы человек не потянул мои зависимости. Кажется, что с помощью Laravel вы создаете не отслеживаемую папку фреймворка Laravel, помещаете свой пакет в папку поставщика и отслеживаете только это с помощью Git? Таким образом, в основном проект Laravel, находящийся вне пакета моего поставщика, - это просто некоторые файлы на моем ПК? Конечно, я хотел бы отследить, для какой версии Laravel был разработан пакет?
ИЛИ мне следует создать "базовый" репозиторий Laravel и создать еще один репозиторий в папке vendor, поэтому убедитесь, что я знаю, на каком Laravel был построен пакет?
Документация и учебники очень расплывчаты...
1 ответ
Ваш вопрос выглядит немного запутанным. Я разрабатываю пакеты для Laravel, и следующее - это обычный способ:
- Laravel управляет зависимостями через композитора, взгляните на
composer.json
чтобы понять, как это похоже наbower
, - Для того, чтобы ваш пакет был совместим с ядром laravel, вам нужно реализовать несколько интерфейсов в вашем пакете. Этот пакет также может управлять зависимостями через composer.
- Пакет может быть создан в качестве репозитория в различных элементах управления версиями, таких как Github, BitBucket, Packagist, Cartalyst, частные репозитории пакетов и т. Д. По умолчанию пакеты Pull laravel из Packagist, но в файле composer.json вы можете указать другой репозиторий по мере необходимости.
- Когда вы запускаете
composer update
(это эквивалентноbower update
), этот менеджер зависимостей извлечет все пакеты и автоматически загрузит их вvendor/
каталог.
Как кодировать ваш пакет при тестировании с laravel? некоторые люди, включая меня, делают следующее:
- Установите экземпляр laravel только для целей разработки пакета.
- Создайте новый проект (ваш пакетный проект) внутри
vendor/project-name
следуя требованиям пакета lavavel. - Продолжайте работать с вашим пакетом из этого местоположения проекта. Таким образом, изменения мгновенно отражаются в установке Laravel.
- Не забудьте совершить и подтолкнуть