Laravel ile kurumsal web sitesi mimarisi: katmanlar ve sınırlar | FiMaker

Laravel ile kurumsal web sitesi mimarisi: katmanlar ve sınırlar

Controller, servis, policy ve repository gibi katmanları ne zaman ayırmalısınız? FiMaker’da orta ölçekli projelerde kullandığımız pratik bir çerçeve.

Kurumsal Laravel projelerinde en sık yapılan hata, her şeyi controller içinde büyütmektir. İlk sprintte hızlı görünse de, üçüncü ayda aynı dosyada onlarca private metot birikir ve test yazmak imkansızlaşır. Bizim yaklaşımımız: HTTP katmanı ince kalsın; iş kuralları action veya servis sınıflarında toplansın. Form Request ile doğrulama, Policy ile yetkilendirme, Resource ile çıktı şekillendirme net ayrılır. Veri erişimi için her tabloya repository açmak şart değil; ancak raporlama ve karmaşık sorgular tek bir yerde toplanmazsa, Eloquent zincirleri view ve controller arasında dağılır. Rapor ve dışa aktarma gibi işlemleri job kuyruğuna atmak, kullanıcı deneyimini ve sunucu stabilitesini korur. Son olarak: ortam değişkenleri, önbellek ve dosya depolama gibi altyapı detaylarını servis sağlayıcıda bağlayıp, uygulama kodunda somut sınıflara sıkı bağlanmamak uzun vadede en çok kazandıran kararlardan biri.