@s1nc4pp
Kafanız bencer karışık. Dil dosyaları tek bir dosya olmak zorunda değil. Bu nedenle dert etmenize gerek yok.
örnek:
bir blade dosyası
{{Lang::get('statics.anasayfa')}}
bu da dil dosyası
// app/lang/tr/statics.php
<?php
return array(
'anasayfa' => 'Anasayfa',
'ürünler' => 'Ürünler',
'iletisim' => 'İletişim',
'Hakkımızda' => 'Hakkımızda',
'SosyalMedya' => 'Sosyal Medya',
'devamınıoku' => 'devamını oku',
'TelifHakkı' => '© Telif Hakkı',
);
Bu arada php'de hiçbir zaman bir class eğer kullanılmayacaksa yüklenmez. Sadece var olup olmadığı, bağımlığı vs. kontrol edilir. Bunlar ise yavaşlamaya neden olmaz. Olur da pratikte hissedilmesi mümkün değil.
Namespace'leri kullandığınızda çoğu problemi çözüyorsunuz.
Bu durumda controllerları, model, hatta view önyüz ya da arka yüz için farklı klasörlerde aynı isimlerde düzenleyebilirsiniz. Eğer projenize yeni başladıysanız şidettle namespace PSR-0 standartına göre kullanmanızı tavsiye ederim..
Ben preje bitmeye yakın namespace'lerin fantaziden öte bir zaruriyet olduğunu fark ettim ve tüm modellerimi bir oluştuduğum namespace alanına taşıdım. Sonrasında tüm model ve controllerları namespace güncellemesi yapmak zorunda kaldım. phpunit kullandığımdan bu süre 1 günümü aldı. Kullanmasaydım muhtemelen bir haftamı alırdı. Yaklaşık hatırladığım kadarıyla 120 dosyayı düzenlemek zorunda kalmıştım. İş yükü bu kadar fazla olunca, controller ve viewleri namespace alanına taşımaktan vazgeçtim. Ama namespace alanında olsalar proje hem daha derli toplu olacak. Hemde aynı isimde oluşturulan controllerları farklı klasörlerde barındırabilecektim. Bu karmaşayı önleyecekti.
Toparlamak gerekirse
namespace app\murat\mvc\controller\back\UserController
namespace app\murat\mvc\controller\front\UserController
gibi tanımlama çok daha temiz yapı oluşturuyor. Aynı durum model dosyaları içinde geçerlidir.