BlogController.php 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Controller;
  3. use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  4. use Symfony\Component\HttpFoundation\Response;
  5. use Symfony\Component\Routing\Annotation\Route;
  6. use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
  7. class BlogController extends Controller {
  8. /**
  9. * @param $page
  10. *
  11. * @return Response
  12. *
  13. * @Route(
  14. * name ="blog_list",
  15. * path ="/blog/{page}",
  16. * requirements={"page" = "\d+"}
  17. * )
  18. */
  19. public function list($page = 1) {
  20. return new Response("Page $page of the blog list.");
  21. }
  22. /**
  23. * @param $slug
  24. *
  25. * @return \Symfony\Component\HttpFoundation\Response
  26. *
  27. * @Route(
  28. * name = "blog_show",
  29. * path = "/blog/{slug}"
  30. * )
  31. */
  32. public function show($slug) {
  33. $path = $this->generateUrl('blog_list', [
  34. // Placeholder: fit in the path.
  35. 'page' => 2,
  36. // Non-placeholder: fit in the query
  37. 'foo' => 'bar',
  38. ], UrlGeneratorInterface::ABSOLUTE_PATH);
  39. return new Response("Show $slug. Back to page 2: $path");
  40. }
  41. }