Это демо приложение создано на основе Symfony фреймворка для того, чтобы показать рекомендованный способ разработки Symfony приложений.
Для дополнительной информации обратитесь к Symfony документации.
Нажмите на эту кнопку для просмотра исходного кода Контроллера и шаблона, которые использовались для отображения этой страницы.
/**
* @Route("/search", name="blog_search")
* @Method("GET")
*
* @return Response|JsonResponse
*/
public function searchAction(Request $request)
{
if (!$request->isXmlHttpRequest()) {
return $this->render('blog/search.html.twig');
}
$query = $request->query->get('q', '');
$posts = $this->getDoctrine()->getRepository(Post::class)->findBySearchQuery($query);
$results = [];
foreach ($posts as $post) {
$results[] = [
'title' => htmlspecialchars($post->getTitle()),
'summary' => htmlspecialchars($post->getSummary()),
'url' => $this->generateUrl('blog_post', ['slug' => $post->getSlug()]),
];
}
return $this->json($results);
}