Создание страницы
Сначала надо установить два расширения.
composer require annotations composer require twig
Теперь можно создавать страницы в контроллерах, которые находятся в папке src/Controller/.
# src/Controller/CompanyController.php namespace App\Controller; use Symfony\Component\Routing\Annotation\Route; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; class CompanyController extends AbstractController { /** @Route("company/") **/ public function index() { return $this->render('company/index.html.twig'); } /** @Route("company/about") **/ public function about() { return $this->render('company/about.html.twig'); } /** @Route("company/our-works") **/ public function ourWorks() { return $this->render('company/our_works.html.twig'); } }
В строке /** @Route("company/about") **/
указан URL, по которой будет открываться страница (за это отвечает расширение «annotations»).
В методе $this->render()
указан шаблон, который надо выводить в указанной странице. Шаблоны находятся в папке templates/. Для страницы «about» будет загружен шаблон «templates/company/about.html.twig».
Также в шаблон можно передавать переменные.
# src/Controller/CompanyController.php class CompanyController extends AbstractController { /** @Route("company/about") **/ public function about() { return $this->render('company/index.html.twig', ['message' => 'Текст сообщения']); } } # templates/company/about.html.twig Сообщение {{ message }}
В качестве шаблонизатора используется «Twig».
Вывести все доступные страницы
Узнать все доступные страницы можно через следующую команду:
php bin/console debug:router
В результате в консоли будут показаны текущие страницы:
Авторизуйтесь, чтобы добавлять комментарии