Тут публікуються короткі замітки про PHP, Linux, Unit Testing, DB, OOP тощо, витяги зі статей, книг, відео, курсів та інших матеріалів.
Тепер тобі більше не потрібно перегортати тонни інформації ;)
@genkovich — написати автору каналу.
Post #80
6.28K
Локальная разработка пакетов (composer + phpstorm)
Буквально пару дней назад мой коллега спросил "а как ты работаешь с мультирепозиториями?", "О чём ты?" — спросил я, "Ну вот тебе нужно сделать sdk и сразу протестить внутри приложения, что ты делаешь?". И вот уже через несколько часов я действительно разбирался с этой проблемой, решением которой захотел поделиться.
👉 Представим, что у вас есть проект и вы решили сделать отдельный пакет, который будет решать какую-то задачу внутри проекта. Например собственное SDK для внешнего API, которое хотите внедрить и тестить прямо в своём проекте. С чего начать?
0. создаете папку
1. в ней composer init
2. создать структуру папок и прописать psr-4 (вот пост с подробностями)
3. не забудьте
❓Дальше начинается самое интересное. Как же подключить наш локальный пакет к существующему
Оказывается всё достаточно просто. Нужно добавить в
👍 Дальше делаем
💁♂️ Ну, а для того чтобы во время разработки не прыгать между окнами, достаточно добавить в
#middle #phpstorm #packages
Буквально пару дней назад мой коллега спросил "а как ты работаешь с мультирепозиториями?", "О чём ты?" — спросил я, "Ну вот тебе нужно сделать sdk и сразу протестить внутри приложения, что ты делаешь?". И вот уже через несколько часов я действительно разбирался с этой проблемой, решением которой захотел поделиться.
👉 Представим, что у вас есть проект и вы решили сделать отдельный пакет, который будет решать какую-то задачу внутри проекта. Например собственное SDK для внешнего API, которое хотите внедрить и тестить прямо в своём проекте. С чего начать?
0. создаете папку
1. в ней composer init
2. создать структуру папок и прописать psr-4 (вот пост с подробностями)
3. не забудьте
git init :) точно пригодится❓Дальше начинается самое интересное. Как же подключить наш локальный пакет к существующему
vendor? Оказывается всё достаточно просто. Нужно добавить в
composer.json директорию repositories, добавить запись с типом path, а урл — относительный путь в директорию с пакетом:"repositories": [и не забыть понизить
{
"type": "path",
"url": "../my-package"
}
],
"minimum-stability": "dev"
minimum-stability до dev. Выглядит вот так.👍 Дальше делаем
composer require package/name и вуаля! Теперь мы можем смело править файлы пакета, без дополнительных коммитов, пуша в удаленный репозиторий и прочих прелестей. Всё потому, что фактически композер сделал симлинку и подтягивает изменённые файлы напрямую.💁♂️ Ну, а для того чтобы во время разработки не прыгать между окнами, достаточно добавить в
PHPStorm -> Settings -> Version Control тот самый локальный репозиторий, затем открыть папку проекта и выбрать attach. После этого находясь в одном окне вы можете спокойно править файлы и проекта и пакета, при этом каждый будет, пуллиться, фетчится и даже коммититься в свой гит репозиторий :)#middle #phpstorm #packages
