Kako Laravel aplikacija raste, zadani pristup "debeli kontroler / debeli model" postaje teško održavati. Veće aplikacije se koriste od dodatnih arhitekturnih slojeva — servisne klase, action klase, repositories, form requests, i jasne organizacije domene — kako bi se poslovnu logiku organizirala, testirala i održavala.
Problem: logika završi na pogrešnim mjestima
Small apps: logic in controllers and models is fine.
Large apps: controllers get bloated, models become "god objects", logic is duplicated
→ hard to test, maintain, and reason about. Extract logic into dedicated layers.
Servisne klase — enkapsulacija poslovne logike
{
{}
{
DB::(function () ($, $) { /* ... */ });
}
}
{
->(->(), ->());
}
