Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Статья очень понравилась! Но есть один вопрос который мучал и до статьи: в пункте 2 говорится о выносе бизнес логики в сервис-класс. А где этот сервис класс располагать в дереве проекта(сам файл)? Делать его общим для всех или для каждого контролёра свой? Как заставить PHPStorm его видеть и использовать в подсказках?
Просто я понимаю что в Laravel всё на своём месте, а тут бац и создаю я свой файл ни к селу ни к городу... Много где встречал разные методы, но не один не был удобен и красив.
Не в сети
где этот сервис класс располагать в дереве проекта(сам файл)
Думаю чаще лучше в app\Services.
Делать его общим для всех или для каждого контролёра свой
Разделение скорее по логике должно быть, а переиспользовать код можно в любом контроллере, команде и т.д.
Как заставить PHPStorm его видеть и использовать в подсказках
PHPStorm его видит сразу, методы подсказывает как только внедряешь сервис класс.
Не в сети
А как подключить к Laravel? или тоже автоматом всё увидит?
Не в сети
1) А если например, сервис должен отправить мейл с кодом активации это из одного контроллера при регистрации, а затем проверить, что этот код введенный в ссылке из письма верен это конечно в другом контроллера. И общее во всем этом это таблица с кодами активации это вообще один сервис или два, или вообще лучше без сервиса и просто дергать в контроллерах этих нужные модельки?
2) Подписку можно отменить из ЛК юзера и из Админки, логика удаления очень похожа. Ну просто типа $user->subscription->cancel() хотя ну мало ли могут быть нюансы разные для юзера и админа. Скажем еще что то перед этим проверить или после этого обновить. Это сервис желателен или достаточно опять же в двух контроллерах просто делать что нужно и дергать $user->subscription->cancel() ?
Как четко понять что нужен именно сервис?
Не в сети
А если например, сервис должен отправить мейл с кодом активации это из одного контроллера при регистрации, а затем проверить, что этот код введенный в ссылке из письма верен это конечно в другом контроллера. И общее во всем этом это таблица с кодами активации это вообще один сервис или два, или вообще лучше без сервиса и просто дергать в контроллерах этих нужные модельки?
Это либо один сервис, либо без сервиса. Все зависит от кода.
Подписку можно отменить из ЛК юзера и из Админки, логика удаления очень похожа. Ну просто типа $user->subscription->cancel() хотя ну мало ли могут быть нюансы разные для юзера и админа. Скажем еще что то перед этим проверить или после этого обновить. Это сервис желателен или достаточно опять же в двух контроллерах просто делать что нужно и дергать $user->subscription->cancel() ?
Если это одна строка, мне кажется, что можно и без сервиса сделать.
Не в сети
Страницы 1