Laravel: Външно обслужване

dakata__92

Super Moderator
Здравейте. Имам дилема с начина на инжектиране на външен код в два проекта на Laravel.

/www/laravel-1
/www/laravel-2
/www/service

Двата проекта се намират в една директория. Имам общо управление на двата и искам да го изнеса на едно място в същата глобална директория на двата проекта (тоест папка service). Според Вас как е най правилно след това да извикам кода от тази папка в двата проекта. Посредством composer autoload или да ги инклудна в глобалният ми модел? Отделно как бихте структурирали файловете във въпросната папка service? В нея ще имам вероятно някакви основни константи и някаква конфигурационна структура обща за двата проекта. Може да имам и някой друг глобален клас.

В момента имам повтаряемост на код в двата проекта и искам да избегна писането на едно и също нещо на две места.
 
Composer позволява използването на private packages. Слагаш кода на /www/service в некое репозитори и после с:

https://getcomposer.org/doc/05-repositories.md#using-private-repositories

го require-ваш в двата проекта.
 
Fakeheal каза:
Composer позволява използването на private packages. Слагаш кода на /www/service в некое репозитори и после с:

https://getcomposer.org/doc/05-repositories.md#using-private-repositories

го require-ваш в двата проекта.

С това ми предлагаш да структурирам кода в service, като външен пакет на ларавел? Тоест да си създам провайдър и прочие, който да ми добавя данните и в двата проекта?
 
Зависи какво има като код, ако са функции, под формата на хелпъри, не е нужно да имаш ServiceProvider-и и фасади и други неща. Но ако искаш да ги достъпваш по време на lifecycle-a на другите ти Ларавел приложения, ще имаш нужда, за да е по-културно.
 
Някъде да Ви се намира урок по темата? Искам да изведа няколко класа извън Laravel проекта и да са под формата на пакет примерно. Идеята ми е да имам Примерно 2 класа с различни имена в един неймспейс извън проекта и след добавянето им под формата на пакет да мога да ги достъпвам в приложението като ги викам от пакета в сайта.
 
Има описани осноивите тук: https://laravel.com/docs/8.x/packages

А тук има по-подробна статия със примерна структура на файловете и др.
-> https://medium.com/cafe24-ph-blog/build-your-own-laravel-package-in-10-minutes-using-composer-867e8ef875dd
 

Горе