При построении контроллеров, является ли неправильной практикой, чтобы правила проверки были получены из внедренного репозитория? В качестве примера рассмотрим следующий интерфейс:Правила валидации для контроллера, извлеченного из бизнес-уровня
interface UserRepository
{
/**
* @return array
*/
public function getCreateRules();
}
Тогда использование этой функции может быть найден в store
методе контроллера:
class UserController extends Controller
{
private $repo;
public function __construct(UserRepository $repo)
{
$this->repo = $repo;
}
public function store(Request $request)
{
$this->validate($request, $this->repo->getCreateRules());
...
}
}
Мой вопрос, если сдвинув правила в бизнес-слой что это смешивает проблемы. Идея пришла с this Средняя запись с 2014 года, поэтому я задаюсь вопросом, является ли это действительным ресурсом, учитывая его возраст.
У вас есть какая-либо условная логика в репозитории, для каких правил следует отправлять обратно? –
Нет условной логики. – JRLambert