FuelPHP Pack Oluşturma

FuelPHP Pack Oluşturma

FuelPHP ile uygulama geliştirirken modüler yapının yanı sıra daha rahat ve işlevsel olarak düşündüğüm bir yapı olan paket yapısını sizlere bu yazıda nasıl kullanabileceğinizi anlatacağım.

Paketler FuelPHP’de ayrı bir kütüphane gibi görülür ve sadece kullanıldığı anda çağrılır. Yani siz bir paketi tanımlasanız bile config içinde, kullanmadığınız sürece o sınıfı include etmez. Örnek bir Cookie paketi oluşturalım.

Öncelikle fuel/app/config/config.php dosyasını açalım. İçinde yer alan Always Load kısmında kullanacağımız paketleri belirleyeceğiz. Örnek kod parçacığı;

Bu kod parçacığı sisteme kullanacağımız paketi tanıtmış oluyor. Yalnız include etmiş değiliz henüz.

  • fuel/packages dizinin altına cookie adında bir klasör oluşturalım. Bu klasör tanımlamış olduğumuz paketin ismi olmalı.
  • Bu dizinin altına bootstrap.php adında bir dosya oluşturup, hangi sınıfları kullanacağımızı ve hangi namespace tanımlamalarını yapacağımızı belirleyeceğiz. Örnek kod parçacığı;

  •  Bu kod parçacığında Autoloader::add_classess metotunda ki dizide kullanacağımız sınıfın namespace tanımı ve bulunduğu yolu veriyoruz. Yani array’in index’i namespace, içindeki eleman ise kullanılacak sınıfın bulunduğu yol.
  • Bu örnekte cookie sınıfımızı classes adı altında bir klasörde olduğunu söyledik. Şimdi sıra sınıfımızı oluşturmaya geldi.

  •  namespace’imiz cookie yaptık. Sınıfın ismini de cookie yaptık. Yalnız isterseniz siz sınıfın ismini değiştirip farklı bir isim de kullanabilirsiniz.
  • Sınıfa ait bir _init metotu tanımlı bu metot sınıfı ilk kullandığınızda çalışacak sabit bir metottur. Bunu FuelPHP tanımlı bir şekilde otomatik olarak çağırır ilk include sırasında.
  • Şimdi controller dosyamızda paketimizi çağıralım;

  •  Ekran çıktısı aşağıdaki gibi olacaktır.

Bu paketlere istenirse birden fazla sınıf dahil edilip her sınıfa ait bir _init metotu tanımlayabilirsiniz. Bu sayede paketlerle uygulamanızda daha bağımsız bir yapı olacaktır..