Красноречивый контроллер ORM или модель
Я пишу веб-приложение, и я самопровозглашенный неорганизованный разработчик, я пишу вещи быстро и позже беспокоюсь о поддержке. Сейчас я работаю с laravel, у меня довольно много взаимодействий с базой данных, все примеры eloquent взаимодействуют с объектом базы данных непосредственно в контроллере. Это лучший вариант или он более организован, чтобы обернуть эти красноречивые методы в функцию в модели для соответствующего запроса. например
class HomeController extends \BaseController {
public function index()
{
$user = User::find(1);
return $user;
}
}
будет ли это лучше служить,
class HomeController extends \BaseController {
public function index()
{
$user = new User;
$result = $user->getSingleUser(1); //Being a method in the User.php model
return $result;
}
}
Я понимаю, что это очень простой пример, но для организационных целей лучше ли отделить базу данных и "бизнес-логику" от контроллера?
2 ответа
но для организационных целей лучше ли отделить базу данных и "бизнес-логику" от контроллера?
да
будет ли это лучше служить,
Да, вы должны разделить свою логику на правильные области, чтобы сделать код более управляемым.
Вот почему MVC шаблон для. Храните ваши запросы БД глубоко внутри, вы также можете отделить слой модели от слоя БД, если хотите. Если вы больше отделяете структуру своего приложения, то более управляемым является ваш код.