Laravel’de Dizinler
Laravel +5 dizin yapısı laravel 4’e göre farklılıklar bulunmaktadır. Dizin yapısında yapılan değişiklikler laravel 4 kullanıcılarının alışmışlığı bir kenara bırakıp yeni bir framework gibi gözükmesine sebep olmuştur. Şimdi sizlere Laravel Dizin yapısının nasıl olduğu gösterelim.
App: Bu Klasör altında Model,Controller olmak üzere projenizin temel bileşenleri bulunmaktadır.Ayrıca Servis Sağlayıcıları(Providers),Exceptions(Kural Dışı Durumlar 403,404,500 gibi sayfa yönlendirmeleri) bu Klasör altında yer almaktadır.
Bootstrap: Framework ayarlarınız bu klasör altında yer alır. Cache, dosya optimizasyonları v.s bu klasör altında bulabilirsiniz.
Config: Uygulama ayarlarını yapılandırma dosyalarını bu klasör altında bulabilirsiniz.Temel ayarları, Mail ayarları, veri tabanı ayarları gibi bir çok ayar dosyasına bu klasör altında yer almaktadır.
Database: Laravel Nedir? Yazımda da belirttiğim gibi Migration ve Seeder yani veri tabanı için veri girişi tablo oluşturma ayarlarını bu klasörden yapabilirsiniz.
Public: Projenizin ana dizin dosyası burasıdır. Tüm istekler bu klasöre gelir bu dizinde ayrıca Javascript, Css, Sitemap ve diğer google için gerekli dosyaları bulabilirsiniz.
Resource: MVC mimarisinin View işlemini burada bulabilirsiniz. Rota(Route) için bir view dosyasına ihtiyaç vardır. Bu view dosyasını burada tutulmaktadır.Ayrıca LESS, SASS ve Javascript dosyalarınızı burada bulundurabilirsiniz.
Routes: Projenizde bulunan rota dosyalarını burada bulabilirsiniz. Web.php, Api.php, Console.php, Channel.php . Bu dosyalar adından da anlaşıldığı gibi web sitesi için bir rota oluşturmak istiyorsanız Web.php içerisine Api. İçin ise Api.php içerisine kodlarınızı yazabilirsiniz.
Storage: Bu dizinde view içinde derlenmiş bilgileri tutar. Dosya olarak tutulan sessions,cache ve log bu dosya içerisinde yer alır.
Tests:Adından anlaşıldığı gibi projenizde deneme aşamasında yaptığınız tesleri işlemlerini burada bulabilirsiniz. Test için PHPUnit Framework yapısı kullanılmaktadır.
Vendor: Composer ile indirilen yazılım paketlerini bu klasör altında bulabilirsiniz.Otomatik olarak indirilen klasörlerden oluşur.
.env: Veri tabanı bağlantısı, mail ayarları, ve diğer ayarlamalarınızı yapabileceğiniz bir config dosyası diyebiliriz.
Biz bu dizinlerden en çok App, Resource, Routes bölümlerini kullanacağız.