Codeigniter 4 Genel Klasör Yapısı

Merhaba sevgili webdeyazilim.com okurları, bu makalemde sizlerle Codeigniter 4 framework’e ait genel klasör yapısını inceleyeceğiz. Codeigniter 4 çatısına ait yapıya ne kadar aşina olursak o kadar sağlıklı projeler ortaya çıkartabiliriz.

Geçelim makalenin temel konusuna,

composer ile yeni kurulmuş bir codeigniter 4 projesi aşağıdaki dosya ve klasörlerden oluşur.

      1. app  :// Projeye ait tüm kodların yazılacağı dizindir.
      2. public :// Projenin tarayıcı tarafından ulaşıldığı kısımdır, kullanıcıya gösterilen herşey bu klasör üzerinden iletilir, böylece kaynak kodunuza direk erişim engellenmiş olur.
      3. tests :// Adından da anlaşıldığı gibi bu klasör projeniz için oluşturacağınız özelliklerin canlı önizlemesi için oluşturulmuştur. Kodunuzu önce burada test edip daha sonra projeye ekleyebilirsiniz.,
      4. system ::// Codeigniter çatısının temeli olarak adlandırabileceğimiz dizindir. Projeniz için yazılan tüm kodların yorumlandığı sistem dizinidir.
      5. vendor :// Composer klasörüdür. Kütüphane dosyalarının tutulduğu klasördür.
      6. writable :// Adı üstünde yazılabilir klasördür, günlük kayıtları, kullanıcılardan alınan dosyalar ve önbellek dosyaları gibi ihtiyaç olabilecek tüm işlemlerin yapıldığı dizindir.
      7. .gitignore :// Git reposuna yüklenmeyecek dosyaların bilgisinin tutulduğu dosyadır. Bu dosya içerisine uygun şekilde bilgisi yazılan dosyalar git reposuna dahil edilmez.
      8. builds :// Frameworkün en son geliştirme sürümünü kullanmak isterseniz kullanacağınız dosyadır.
      9. composer.json :// Composer tarafından okunan, projenizin ihtiyaç doyduğu bileşen bilgilerinin tutulduğu dosyadır.
      10. composer.lock :// Composer tarafından okunan, projenizin ihtiyaç doyduğubileşen versiyonlarının tutulduğu dosyadır.
      11. env :// Aktif hale gelmesi için isminin .env olarak değiştirilmesi gerekir, projenizin temel ayarlarının tutulduğu dosyadır.
      12. LICENSE :// Telif hakkı bilgilerinin tutulduğu dosyadır.
      13. phpunit.xml.dist :// Projenizde bir test paketi oluşturmak için kullanılacak dosyanın şablonudur.
      14. README.md :// Beni oku da diyebileceğimiz dosyadır. Codeigniter hakkında temel bilgilerin bulunduğu dosyadr.
      15. spark :// Apache tarafından kullanılan paralel işlem dosyasıdır.

Yukarıdaki listenin ilk sırasında bulunan app klasörü bizim projemize ait tüm işlemlerin yapıldığı dizindir. Gelelim app dizini altındaki alt dizinleri tanımaya. App altındaki dosya ve klasör yapısının görüntüsü aşağıdaki gibidir.

  1. Config :// Tüm yapılandırma dosyalarının barındığı dizindir.
  2.  Controllers :// Projenin tüm akışını kontrol eden denetleyici dosyalarının barındığı dizindir.
  3.  Database :// Veritabanı bağlantısı ve migration(birleştirme) dosyalarının barındığı dizindir.
  4.  Filters :// Controllers dosyalarında belirtilen işlemlerden önce ya da sonra çalışan filtreleme sınıflarınızın barındığı dizindir. (ör: Kullanıcıya veriyi göstermeden önce giriş yapılmış mı yapılmamış mı kontrolünün yapıldığı dosyalar)
  5. Helpers :// Adı üzerinde yardımcılar demektir. Codeigniter çatısından bağımsız fonksiyonlarınızı çalıştıracağınız dosyaların barındığı dizindir.
  6. Language :// Projenize ekleyeceğiniz dil dosyalarının barındığı dizindir.
  7.  Libraries :// Projenize ait kütüphanelerin barındığı dizindir.
  8.  Models :// Veritabanı işlemlerinizin (CRUD) yapıldığı dosyaları barındıran dizindir.
  9.  ThirdParty :// Projenizde kullanabileceğiniz harici(üçüncü taraf) kütüphanelerin barındığı dizindir.
  10.  Views :// Tarayıcı tarafında projenizin tüm html çıktısını oluşturan dosyaların barındığı dizindir.
  11.  .htaccess :// Apache tarafından yorumlanan web ayarlarınızı yapmanıza olanak sağlayan dosyadır.
  12.  Common.php :// Bu dosyaya yazılan kodlar Codeigniter tarafından öncelikli olarak yorumlanır. Birçok kullanıcı tarafından kullanılmasa da bu dosya vasıtası ile Codeigniter yapısında değişiklikler yapılmasına olanak sağlayan dosyadır.
  13. index.html :// Bu dosya dizin listelemesi açık sunucular için oluşturulmuş güvenlik amaçlı bir dosyadır. Eğer dizin listelemesi açık olan bir sunucuda App klasörüne doğrudan erişim sağlanmaya çalışıldığında varsayılan index dosyası olarak yorumlanır ve içeriği istek yapan kullanıcıya gösterilir. Klasör yapınızın istenmeyen isteklere karşı korunması için oluşturulmuş bir dosyadır diyebiliriz.

App dizini altındaki klasör yapısını app/Config/Constants.php dosyası ile değiştirebilirsiniz.

Yukarıda açıkladığımız detaylar kısa ve net olarak yapılmıştır. İlerleyen makalelerde örnekler ile dosya ve klasörlerin işlevlerini daha detaylı bir şekilde anlatacağım. İlk defa bu makaleye giriyorsanız bir önceki makalemize göz atmanızı tavsiye ederiz. Codeigniter kurulumu hakkında ayrıntılı olarak bilgilendirme yapılan makalemize buradan ulaşabilirsiniz.

Faydalı olması dileği ile hoşcakalın.

Photo of author

Metehan Türk

Uzun yıllardan beri dijital ortamda aktif faaliyet göstermiş, bu konuda herhangi bir eğitim almamış, kendi kendini yetiştirmiş biri olarak karşınıza çıkmaya cesaret buluyorum. Sosyal medya araçlarından nefret eder, "Bilgi Paylaştıkça Çoğalır" sözünü ilk duyduğumdan beri her fırsatta kullanmaktan zevk alan birisiyim.

Yorum yapın