есть страница поиска отображаемая SearchControllerom
есть сам сервис поиска SearchService::search( $params ) внутри которого реализована логика сортировки, пагинации и еще много другой логики которая будет одинакова для всех проектов
базывое параметры поиска будут менятся от проекта к проекту
сейчас это как-то так
class SearchController extends Controller
{
private function getParameterForSearchQuery()
{
return [ "type"=>["post","folder","group"], "subtree"=>"events" ];
}
public function indexAction()
{
. . .
. . .
$this->render('::index.html.twig', $this->searchService->search( $this->getParameterForSearchQuery() ) );
}
}
короче я сделал чтоб в последующих проектах можно было пронаследовать этот контролер и перепределить одно лишь свойство
getParameterForSearchQuery() { return ["type"=>"file"] }
на сколько это правильно/неправильно?
подскажите лучшую практику. паттерны и т д
спасибо