Привет, разработчик Laravel,
Я действительно испытываю стресс, сохраняя логическую модель моих проектов laravel равной, и вы могли бы мне помочь:
Вот контекст:
Вот вопрос:
а все проекты включают реализованные классы в папке tp_logic_model.
Я использую композитор для управления внешними пакетами, но я не хочу размещать новый пакет композитора для совместного использования логики.
Есть ли простой способ добиться такого поведения?
Надеюсь, вы уловили мои потребности.
Конечно, это проблема комфорта разработки, но ее легко понять и, возможно, людям интересно.
Определенно звучит как идеальный футляр для упаковки. Но почему возражения против пакета? Это буквально один репозиторий, несколько строк в вашем composer.json, и все готово.






Может быть, вы могли бы использовать подмодули git?
https://git-scm.com/book/en/v2/Git-Tools-Submodules
похоже, это довольно большая работа: возможно, есть более простой способ
Если эти четыре проекта находятся на одном сервере. Самый простой способ добиться этого - использовать символическую ссылку.
Допустим, вы храните коды общей логики на project1 по адресу /var/www/project1/tp_logic_model. Чтобы поделиться им на project2, вы можете просто создать символическую ссылку на общие логические коды в каталоге project2:
ln -sfv /var/www/project1/tp_logic_model /var/www/project2/tp_logic_model
Вы по-прежнему можете настроить composer.json в каждом проекте на автозагрузку классов в каталоге tp_logic_model, даже если на самом деле это просто символическая ссылка.
// composer.json on project2, autoload from symbolic link
{
...
"autoload": {
"psr-4": {
"Shared\\": "tp_logic_model"
}
}
}
Надеюсь это поможет.
Это было именно то, что я искал. Большое спасибо !
Я создал пошаговое руководство по обмену моделями логики приложений (Eloquent) между несколькими приложениями. Он опубликует пакет в частном репозитории GitHub, который в дальнейшем можно будет использовать в качестве зависимости композитора.
Надеюсь, это поможет.
Вы можете превратить его в пакет композитора.