v2.5.2
Giriş yap

Laravel'de Klasör Yapısı Hakkında

Anonim
675 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Laravel son sürümü indirdim; daha önceden framework kullanmazken kendimce klasör yapısı oluşturup kullanıyordum.
Örneğin: İşlevsel fonksiyonların olduğu, siteyle alakalı DEFINE'lerin bulunduğu vb. kısacağı tek dosyadan çağırıp kullandığım bir "functions.php" dosyam vardı; bunu "includes" adlı bir klasör içerisinde tutuyordum.

1- Laravel'de bu tarz oluşturacağımız custom PHP dosyalarını hangi klasör altında tutmamız uygun olur?

2- İkini sorum olarak; Laravel 8'de Library olarak hangi klasör kullanılıyor? Yine kendimiz custom library oluşturmak için hangi klasörü kullanmalıyız?

Cevap yaz
Cevaplar (4)
okumusmr
1284 gün önce

Merhaba, burra'ya katılıyorum. Böyle dosyaları genelde app/Helpers/ klasörü altında tutulmakta.
Ayrıca otomatik olarak bu fonksiyonları projeye dahil etmek istersen composer.json dosyasında çağırabilirsin.

Örneğin app/Helpers/functions.php dosyasını çağırmak istersen. composer.json dosyasına


"autoload":{

    //Eklemen gereken kısım
    "files":[
        "app/Helpers/functions.php"
    ],
    ...
    
}
burra
1284 gün önce

app dizini içerisinde herhangi bir yerde custom dosyalarınızı oluşturabilir ve burada oluşturduğunuz classlara, fonksiyonlara vs. herhangi bir yerden erişebilirsiniz.
Ben genelde app dizininin altında Helpers adında bir dizin oluşturup oraya yazıyorum.

obey00
1284 gün önce

@erdem Verdiğin cevaplar genel hatlarıyla doğru bilgi ancak soruya odaklı değil diye düşünüyorum. Dışarıdan indirdiğimiz tek bir PHP Class sayfası, veya sorudaki gibi kendi kullanmak istediğimiz için hazırladığımız bir PHP dosyasını vs. koyabileceğimiz klasör hangisidir? Bu sanırım önemli bir soru.
Public altında bir klasör açarak oradan mı kullanılmalı, Resources altına mı koyulmalı? vs...

erdem
1285 gün önce

Merhaba, tavsiye amaçlı yazıyorum laravel ile çalışmaya başladıktan sonra laravelin kurallarına göre ilerlemek gerekiyor. O kafaya kendini
adapte etmen gerekiyor artık esnek bir yazılım yok karşında tamamen laravel yazılımcılarının belirlediği bir iskelet var. Ben mesela OOP ile
website yapıyordum hintlilerden öğrenmiştim include klasörüne header footer koyuyordum conn clasörüne connect.php leri koyuyordum falan
ama mvc sistemine geçince esneklik bitiyor.

1) Public klasöründe sitede gözüken kızmı yapıyorsun.
2) App>Http>Controller yani Controller ile database bağlantılarını yapıyorsun.
3) Public -> Controller arasındaki bağlantıları router ile yapıyorsun.
4) App>Models yani Modelleri de yine database bağlantıları için kullanıyorsun (bunu nasıl anlatacağımı bilemedim).
5) Database klasörü içindeki migration ve seedlerle phpmyadmine girmeden tablolar,satırlar,sütunlar oluşturuyorsun.

Diğer klasörlere dokunmaya gerek yok e tabi gelişmiş bir yazılım yaparsan örnek vue js ile laraveli birleştirmek istersen diğer klasörleri
de düzenlemek, kullanmak gerekiyor ama genel itibariyle hatlar böyle.