Лучшая практика для простых операций модели Laravel - PullRequest
0 голосов
/ 23 июня 2019

Допустим, я пишу контроллер Laravel, у которого есть функция: сделать простой поиск по модели и сделать что-нибудь с результатом.Примерно так (без какой-либо проверки, для простоты):

public function search($name)
{
  $person = Persons:where('name', $name)->first();
  doSomethingWith($person);
  // ...
}

Должен ли я переместить этот крошечный код Eloquent в модель Person в выделенной функции?Обычно я записываю все «сложные» операции в Модели, чтобы иметь короткие и читаемые контроллеры, но когда мне приходится выполнять небольшие операции, подобные этой, я всегда нахожу, что перемещение одной строки кода (даже если это напрямую связано с базой данных)в отдельную функцию модели принесет слишком много накладных расходов на мой код.

Ответы [ 2 ]

0 голосов
/ 23 июня 2019

enter image description here

Вы можете следовать этому паттерну MVC с большим количеством паттернов.Вы можете узнать больше об этом здесь: DevSkill .Убедитесь, что вы смотрите видео с субтитрами, потому что это видео на бангладешском языке.Вот почему субтитры помогут вам понять стандартную разработку шаблонов программного обеспечения MVC.На самом деле, я также следую этому соглашению для разработки программного обеспечения с Laravel

0 голосов
/ 23 июня 2019

Контроллер должен быть свободен от бизнес-логики.
В вашем случае, я не вижу бизнес-логику в первой строке $person = Persons:where('name', $name)->first();
Я не вижу смысла писать модульные тесты для этой строкиТаким образом, у контроллера нет недостатка в знании предметной области, и вы можете оставить его в контроллере

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...