@mgsmus Verdiğin cevaplar için teşekkür ederim.
Laravelde Container en dıştaki kutumuz ve biz bu kutuya ServiceProvider 'ları register ediyoruz , Sınıfılarımızı ise bind ediyoruz sonrada tüm çerçeve genelinde kullanıyoruz doğrumudur ?
ServiceProvider ların 2 türlü Register etme şekli var biri her istekte yüklenen diğeri ise Deferred edilen buda sadece ihtiyaç olduğunda çağrıldığında yüklenen.
Birde ServiceProvider 'ların boot methodu var buda tüm ServiceProviderlar register Edildikten sonra çalıştırılan kısım bu sayede diğer servislere erişebiliyoruz.
Bir ServiceProvider Deffered edilmiş ise onun boot methodu olmuyor sanırım ?
// ServiceProvider içerisindeki register methodu ile Deffered servise eklemek
$this->app->registerDeferredProvider()
// CacheServiceProvider.php bu servisi $this->app->register() ile eklediğimizde yine Deffered olmuş oluyormu ?
class CacheServiceProvider extends ServiceProvider implements DeferrableProvider
{
}
Esas sorunuma gelince dinamik bir yapı kurmaya çalışıyorum tema yollarının ve admin url inin database tarafından yönetilebilen istendiğinde değiştirilebilen bir yapı.
Laravel projemde
1 - example.com - E-Ticaret , Dinamik View::addNamespace('site_path' , setting('site_path'))
2 - example.com/admin - E-Ticaret admin girişi dinamik dbden yönetilen , Dinamik View::addNamespace('site_path_admin' , setting('site_path_admin'))
3 - example.com/ogrenci - Öğrenci Arayüzü , Dinamik View::addNamespace('ogrenci_path' , setting('ogrenci_path'))
4 - example.com/ogrenci/admin - Öğrenci Arayüzü admin girişi dinamik dbden yönetilen , Dinamik View::addNamespace('ogrenci_path_admin' , setting('ogrenci_path_admin'))
5 - example.com/komite - Komite arayüzü - Dinamik View::addNamespace('komite_path' , setting('komite_path'))
5 - example.com/komite/admin - Komite admin girişi dinamik dbden yönetilen , Dinamik View::addNamespace('komite_path_admin' , setting('komite_path_admin'))
ve tüm bu farklı girişler için özel yüklenen ServiceProvider 'lar
Öğrencinin admin girişi db den şöyle ayarlanmış ise example.com/ogrenci/admin_erisim bunu yakalayıp buna göre gerekli ServiceProvider ve ayarları tanımlamak.
Bu arada db den gelen ogrenci_path_admin ile route prefix oluşturuyorum.
Hatta yolu varsa bu prefix çağırıldığında gerekli rotalar yüklensin tüm sistemlerin rotasıda yüklenmesin.