mertkabadayi CodeIgniter ile çalışan gelişmiş bir içerik yönetim sistemini Laravel için PSR-0 ile dönüştürüyoruz. Kolları sıvadık, Allah utandırmasın.
mertkabadayi Teşekkür ederim. Mantık konusunda bir kaç soru sormak istiyorum. Bir önce ki mesajımda içerik yönetim sisteminin paket yapısını paylaştım. Her bir Build için ServiceProvider oluşturmak doğru değil çünkü esnek bir sistem olmaz yada içerik yönetim sistemimize sonradan eklenecek buildlerde de kullanıcılardan ServiceProvider kaydetmelerini beklemekte yanlış. Haliyle iki kullanım yöntemi sunacağım sizlere. ServiceProvider oluşturmaz isek, mevcut sınıflar yada sonradan eklenecek tüm paketler kullanılmak istendiği yerde tanımlanmak durumunda. Facedes yada Service Provider tanımlanmayacağı için bağımlıkları kafanızdan yönetmeniz oldukça güçtür. Bunları tanımlarsa zaten sorun yok. use Jack\Build\Asset\Asset; $this->asset = new Asset(); $this->asset->locationPath("assets/site_ismi"); $this->asset->setPath("", ""); Biz ne öneriyoruz; Jack::Build("Asset") ->locationPath() ->setPath(); Kendi kütüphanenizi Jack'e tanımlamak ve kullanmak. Jack::Register("Build", "SmsMenager", "src\benim_paketim\build\sms\SmsMenager"); Jack::Build('SmsMenager') ->message() ->number() ->send(); Jack ile sistemde kullanabileceğiniz neler olup olmadığını öğrenebiliyorsunuz. Jack:getListPackage(); Sonuç Build | Asset | v1.0.0 | src\jack\build\asset Build | Template | v1.0.2 | src\jack\build\template Build | SmsMenager | v2.3.0 | vendor\name\name\src\benim_paketim\build\sms\SmsMenager Service | Thumb | 4.0.1 | src\jack\service\Thumb Jack sınıfı Fluent Interface ve Singleton design pattern içeriyor. Burada Jack yapıcı sınıf, Build ise tutucu method. Size Laravel içerisinde tekrar tekrar instance tanımlaması yapmanızı engelliyor, zincir method sistemi sunuyor ve sonradan Jack::Register ile ekleyeceğiniz kendi kütüphaneleriniz için Laravel ile köprü görevi görüyor. Ve en önemlisi bizim yapımızı olduğu gibi miras alabiliyor extend etmek durumunda kalmadan sadece yapılarda implement etmesi gerekmekte. Bir çok design pattern kullandık. Bu konuda seçimlerimiz başarılı. Jack sınıfının içeriği oldukça geniş görmeden anlatmak biraz zor. O nedenle iki kullanım konusunda sizin fikirleriniz nelerdir.
mertkabadayi Bittikten sonra kit olarak sunacağım. İçerik yönetim sisteminde olmazsa olmaz kütüphaneleri içeriyor. Kendi Cms'nizi inşa ederken büyük oranda rehberiniz olacak.