Controllerlarımı
app/Http/Controllers içinde
--DeviceController.php --MemberController.php --LogController.phpModellerimi
app içinde
--Device.php --Member.php --Log.phpView kısmınıda
resources/views içinde
-modules ---logs ----list.blade.php ----details.blade.php ----edit.blade.php ---members ----list.blade.php ----details.blade.php ----edit.blade.php ---devices ----list.blade.php ----details.blade.php ----edit.blade.phpÖzellikle view kısmının bu şekilde düzenli olmasına dikkat ettim.
Gelelim yaptığım işlemlere. Örneğin LogController için routes.php içinde şöyle bir tanımlama yaptım.
Route::controller('logs', 'LogController')Bu şekilde logs linki ile direk loglarıma ait controllerıma ulaştım. bunun içinde getIndex getDetails postEdit gibi fonksiyonlar oluşturup verdiğim link yapısına göre işlem yapmasını sağladım. Daha önceden okuduğum makalelerde veritabanı sorgularını model dosyalarında yapın sürekli aynı sorguyu yapmaktan kurtulursunuz deniyordu. Kafamı kurcalayan konuda burada başlıyor. Yine loglar için örnek vereceğim.
Log.php dosyamda tabloma bağlandım.
LogController.php dosyamın içine
use App\Log;diyerek model dosyamı çalıştırdım. örneğin getIndex() metodumda Log::get(); dediğim zaman bana tüm loglarımı getiriyor veya
getDetails($id = NULL)methodumda
Log::where('id', $id)->first(); dediğim zaman bana ilgili id ye ait kayıt bilgisini getiriyor buraya kadar da tamam. Şuana kadar model dosyasını sadece ilgili tabloya bağlanmak için kullandım. Bunun dışında herhangi bir işime yaramadı mesela. Bana birşeyleri eksik yapıyorum ya da bu model dosyası kullanımı gereksizmiş gibi geliyor. Yanlış mı düşünüyorum? Gidişatım sizce doğru mu? Sizce neler yapmalıyım?