Daha önceden spagetti kod yazarken artık framework kullanmanın zamanı geldi dedim. Bu yüzden de daha önceden yapmış olduğum bir otomasyon yazılımını laravel 5 ile yeniden kodlayarak işe başlayayım dedim. Başladım fakat doğru mu gidiyorum yanlış mı gidiyorum bu konuda fikirlerinize ihtiyacım var. En başından oop programlamayla ilgili daha önceden sadece makale okuduğumu ve herhangi bir uygulama yapmadığımı belirtmek isterim. Örnek veriyorum benim önceki yazılımımda Devices, Members, Logs ... şeklinde birden fazla modulüm vardı. Bunları şu şekilde ayırdım.

Controllerlarımı

app/Http/Controllers içinde
--DeviceController.php
--MemberController.php
--LogController.php
Modellerimi

app içinde
--Device.php
--Member.php
--Log.php
View 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?