Хочется написать чистый код, но такой который будет соотвествовать основным стандартам.
1. Нужно ли пробрасывать request в сервис и уже в методе сервиса доставать нужные мне параметры и передавать их в ValueObject?
2. Нужно ли пробрасывать $request в конструктор ValueObject?
Хотел бы получить развернутые ответы насчет моего кода. Что сдесь можно улучшить исправить?
/**
* @Route("/{page}", name="vacancies", methods={"GET"}, defaults={"page" = 1}, requirements={"page"="\d+"})
* ...
*/
public function index(Request $request): Response
{
$form = $this->vacancyService->createForm();
$form->handleRequest($request);
$vacancies = $this->vacancyService->search(new VacancySearchValueObject(
$request->query->all()['vacancy_search'] ?? []),
new PaginationValueObject($request->attributes->get('page', null))
);
return $this->render('vacancy/index.html.twig', [
'vacancies' => $vacancies,
'searchForm' => $form->createView(),
'companies' => $this->companyService->getList()
]);