BlogController.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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. ],
  39. UrlGeneratorInterface::ABSOLUTE_PATH);
  40. return new Response("Show $slug. Back to page 2: $path");
  41. }
  42. }