Laravel 5.6 Dizin Yapısı

  • Introduction
  • The Root Directory
    • The app Directory
    • The bootstrap Directory
    • The config Directory
    • The database Directory
    • The public Directory
    • The resources Directory
    • The routes Directory
    • The storage Directory
    • The tests Directory
    • The vendor Directory
  • The App Directory
    • The Broadcasting Directory
    • The Console Directory
    • The Events Directory
    • The Exceptions Directory
    • The Http Directory
    • The Jobs Directory
    • The Listeners Directory
    • The Mail Directory
    • The Notifications Directory
    • The Policies Directory
    • The Providers Directory
    • The Rules Directory

Laravel 5.6 Giriş

Varsayılan Laravel uygulama yapısı büyük ve küçük uygulamalar için büyük bir başlangıç noktası sağlamak için tasarlanmıştır. Tabii ki, ancak sizin gibi başvurunuzu düzenlemek için ücretsizdir. Laravel herhangi bir sınıf bulunduğu nerede neredeyse hiçbir kısıtlamalar empoze-sürece besteci AutoLoad sınıf.

Modeller dizini nerede?
Laravel ile Başlarken, birçok geliştirici bir model Dizin eksikliği ile karıştırılmamalıdır. Ancak, böyle bir dizinin eksikliği kasıtlı olduğunu. Biz kelime bulmak “modeller ” belirsiz birçok farklı insanlar için çok farklı şeyler anlamına gelir beri. Bazı geliştiriciler, bir uygulamanın “model ” için tüm iş mantığının toplamı olarak bakın, diğerleri “modeller ” ilişkisel bir veritabanıyla etkileşim sınıfları olarak bakın.

Bu nedenle, varsayılan olarak uygulama dizininde anlamlı modeller yerleştirmeyi tercih ediyoruz ve geliştiricinin onları başka bir yere yerleştirmesini tercih ederler.

Laravel 5.6 Kök dizini

Uygulama dizini
Beklediğiniz gibi uygulama dizini uygulamanızın temel kodunu içerir. Bu dizini yakında daha ayrıntılı olarak inceleyeceğiz; Ancak, neredeyse tüm sınıfları uygulamanızda bu dizinde olacaktır.

Önyükleme dizini
Bootstrap dizini, Framework ‘ün önyükleme yaptığı App. php dosyasını içerir. Bu dizin Ayrıca, yol ve hizmetler önbellek dosyaları gibi performans optimizasyonu için Framework oluşturulan dosyaları içeren bir önbellek dizini barındırır.

Config Dizin
Adından da anlaşılacağı gibi config dizini, tüm uygulamanızın yapılandırma dosyalarını içerir. Bu büyük bir fikir tüm bu dosyaları okumak ve tüm seçenekleri sizin için kullanılabilir aşina.

Veritabanı dizini
Veritabanı dizini veritabanı geçişleri, model fabrikaları ve tohumları içerir. İsterseniz, bu dizini SQLite veritabanını tutmak için de kullanabilirsiniz.

Ortak Dizin
Ortak dizin, uygulamanızı giren tüm istekler için giriş noktası olan dizin. php dosyasını içerir ve AutoLoad ‘i yapılandırır. Bu dizin aynı zamanda resimlerinizi, JavaScript ve CSS gibi varlıklar evlerin.

Kaynaklar dizini
Kaynaklar dizini, daha az, Sass veya JavaScript gibi RAW, derlenmiş varlıklar gibi görünümleri de içerir. Bu dizin aynı zamanda tüm dil dosyalarınızı ev sahipliği yapmaktadır.

Rota dizini
Routes dizini, uygulamanızın tüm yol tanımlarını içerir. Varsayılan olarak, birkaç yol dosyası Laravel: Web. php, API. php, Console. php ve Channels. php ile birlikte gelir.

Web. php dosyası, oturum durumunu, CSRF korumasını ve tanımlama bilgisi şifrelemesini sağlayan Web middleware grubunda RouteServiceProvider yerleştiren yolları içerir. Uygulamanızın durum bilgisi olmayan, dinlendirici bir API sunmuyor, tüm yollarınız büyük olasılıkla Web. php dosyasında tanımlanır.

API. php dosyası, RouteServiceProvider API ara katman grubunda yer alan ve derecelendirme oranı sınırlaması sağlayan yollar içerir. Bu yollar, bu yollarla uygulama girmek istekleri belirteçleri aracılığıyla kimlik doğrulaması yapılması amaçlanmıştır ve oturum durumuna erişimi olmayacaktır, durum bilgisi olmayan olması amaçlanmıştır.

Console. php dosyası, tüm kapatma tabanlı konsol komutlarının tanımlandığı yerdir. Her kapatma her komutun GÇ yöntemleri ile etkileşim için basit bir yaklaşım sağlayan bir komut örneğine bağlıdır. Bu dosya http yollarını tanımlamasa da, uygulamanıza konsol tabanlı giriş noktaları (Rotalar) tanımlar.

Channels. php dosyası, uygulamanızın desteklediği tüm olay yayın kanallarını kaydedebilirsiniz.

Depolama dizini
Depolama dizini, derlenmiş Blade şablonları, dosya tabanlı oturumlar, dosya önbellekleri ve çerçeve tarafından oluşturulan diğer dosyaları içerir. Bu dizin, uygulama, çerçeve ve günlük dizinleri ayrılmıştır. Uygulama dizini, uygulamanız tarafından oluşturulan tüm dosyaları depolamak için kullanılabilir. Framework dizin oluşturulan dosyaları ve önbellekleri depolamak için kullanılır. Son olarak, günlükleri dizini uygulamanızın günlük dosyalarını içerir.

Profil avatarları gibi kullanıcı tarafından oluşturulan dosyaları depolamak için depolama/uygulama/ortak dizin kullanılabilir. Bu dizine işaret eden ortak/depolama alanı ‘nda sembolik bir bağlantı oluşturmalısınız. Php Artisan Storage: LINK komutunu kullanarak bağlantıyı oluşturabilirsiniz.

Testleri dizini
Testler dizini otomatik testlerinizi içerir. Bir örnek PHPUnit kutusu dışında sağlanır. Her test sınıfı Word testi ile sonekli olmalıdır. PHPUnit veya php satıcı/BIN/PHPUnit komutlarını kullanarak testlerinizi çalıştırabilirsiniz.

Satıcı dizini
Satıcı dizini, besteci bağımlılıklarını içerir.

Uygulama dizini
Uygulamanızın çoğunluğu uygulama dizininde yer alan. Varsayılan olarak, bu dizin uygulamanın altında isimli olarak adlandırılan ve kendisini kullanarak tarafından yeniden yüklenir.

Uygulama dizini, konsol, http ve sağlayıcılar gibi çeşitli ek dizinler içerir. Konsol ve http dizinlerini uygulamanızın çekirdeğine bir API sağlamak olarak düşünün. HTTP protokolü ve CLI, uygulamanızla etkileşim kurmak için her iki mekanizma vardır, ancak aslında uygulama mantığı içermiyor. Başka bir deyişle, uygulamanıza komutları veren iki yolu vardır. Konsol dizini tüm esnaf komutları içerir, ancak http dizini denetleyiciler, ara yazılım ve istekleri içerir.

Diğer dizinler çeşitli sınıflar oluşturmak için Artisan komutları kullanmak gibi uygulama dizini içinde oluşturulacak. Bu nedenle, örneğin, uygulama/işleri dizini yürütmek kadar yok yap: Job Artisan komut bir iş sınıfı oluşturmak için.

Yayın Rehberi
Yayın dizini, uygulamanız için tüm yayın kanalı sınıflarını içerir. Bu sınıflar kullanılarak oluşturulan Make: Channel komutu. Bu dizin varsayılan olarak yok, ancak ilk kanalınızı oluşturduğunuzda sizin için oluşturulacak. Kanallar hakkında daha fazla bilgi için, olay yayınında bulunan belgelere göz atın.

Konsol dizini
Konsol dizini, uygulamanız için özel Artisan komutlarının tümünü içerir. Bu komutlar Generate: Command komutu kullanılarak oluşturulabilir. Bu dizin Ayrıca, özel esnaf komutlarının kaydedildiği ve zamanlanmış görevlerinizi tanımlandığı konsol çekirdeğini de ev sahipliği yapmaktadır.

Olaylar dizini
Bu dizin varsayılan olarak yok, ancak olay tarafından oluşturulacak: oluştur ve yap: olay Artisan komutları. Olaylar dizini, beklediğiniz gibi, evler olay sınıfları. Olaylar, uygulamanızın belirli bir eylemin gerçekleştiği diğer bölümlerini uyarmak için, büyük bir esneklik ve debağlantı sağlayarak kullanılabilir.

İstisnalar dizini
Özel durumlar dizini uygulamanızın özel durum işleyicisi içerir ve ayrıca uygulamanız tarafından atılan özel durumları yerleştirmek için iyi bir yerdir. Özel durumların nasıl günlüğe kaydedildiğini veya işlendiğini özelleştirmek isterseniz, bu dizindeki işleyici sınıfını değiştirmelisiniz.

Http dizini
Http dizini denetleyici, ara yazılım ve form isteklerinizi içerir. Neredeyse tüm mantık, başvurunuzu giren istekleri işlemek için bu dizine yerleştirilir.

Işleri Dizin
Bu dizin varsayılan olarak yok, ancak oluşturma: iş Artisan komutu yürüttüğünüzde sizin için oluşturulacak. Iş dizini, uygulamanız için kuyruğa alınmış işleri ev sahipliği yapmaktadır. İşler uygulamanız tarafından kuyruğa alınabilir veya geçerli istek yaşam döngüsü içinde eşzamanlı olarak çalıştırabilirsiniz. Geçerli istek sırasında eşzamanlı olarak çalışan işler bazen “komutlar ” olarak adlandırılır çünkü bunlar komut deseni uygulamasıdır.

Dinleyici dizini
Bu dizin varsayılan olarak yok, ancak olay Execute: Generate veya Make: dinleyici Artisan komutları sizin için oluşturulacak. Dinleyiciler dizini, etkinliklerinizi işleyen sınıfları içerir. Olay dinleyicileri bir olay örneği almak ve harekete geçirilir olay yanıt mantığı gerçekleştirin. Örneğin, bir UserRegistered olay tarafından işlenen bir SendWelcomeEmail dinleyicisi.

Posta dizini
Bu dizin varsayılan olarak yok, ancak oluştur: posta Artisan komutu yürüttüğünüzde sizin için oluşturulacak. Posta dizini, uygulamanız tarafından gönderilen e-postaları temsil eden tüm sınıfları içerir. Posta nesneleri, posta:: Send yöntemi kullanılarak gönderilen tek, basit bir sınıf içinde bir e-posta oluşturma mantığını kapsülleyen izin verir.

Bildirimler dizini
Bu dizin varsayılan olarak yok, ancak oluşturma: bildirim Artisan komutu yürüttüğünüzde sizin için oluşturulacak. Bildirimler dizini, uygulamanızın içinde gerçekleşen olaylar hakkında basit bildirimler gibi uygulamanız tarafından gönderilen tüm “işlem ” bildirimlerini içerir. Laravel ‘in bildirimleri, e-posta, bolluk, SMS gibi çeşitli sürücülerde bildirim göndererek veya veritabanında saklanan bildirilere sahiptir.

İlkeler dizini
Bu dizin varsayılan olarak yok, ancak oluşturma: ilke Artisan komutu yürüttüğünüzde sizin için oluşturulacak. Ilkeler dizini, uygulamanız için yetkilendirme ilkesi sınıflarını içerir. Ilkeleri, bir Kullanıcı bir kaynağa karşı verilen eylemi gerçekleştirebilir, belirlemek için kullanılır. Daha fazla bilgi için, yetkilendirme belgelerine göz atın.

Sağlayıcılar dizini
Sağlayıcılar dizini, uygulamanızın tüm hizmet sağlayıcılarını içerir. Hizmet sağlayıcıları, hizmet kapsayıcısında, olayların kaydedilmesini veya uygulamanızı gelen isteklere hazırlamak için diğer görevleri gerçekleştirerek uygulamanızı Bootstrap.

Yeni bir Laravel uygulamasında, bu dizin zaten birkaç sağlayıcı içerecektir. Gerektiğinde bu dizine kendi sağlayıcıları eklemek için ücretsizdir.

Kurallar dizini
Bu dizin varsayılan olarak yok, ancak oluşturma: kural Artisan komutunu yürüttüğünüzde sizin için oluşturulacak. Kurallar dizini, uygulamanız için özel doğrulama kuralı nesnelerini içerir. Kurallar basit bir nesnede karmaşık doğrulama mantığı kapsülleyen için kullanılır. Daha fazla bilgi için doğrulama belgelerine göz atın.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.