В этой главе объясняется, как создать простое приложение в среде Symfony. Как уже говорилось ранее, вы знаете, как создать новый проект в Symfony.
Мы можем взять пример «студенческих» деталей. Давайте начнем с создания проекта с именем «student» с помощью следующей команды.
symfony new student
После выполнения команды создается пустой проект.
контроллер
Symfony основан на паттерне разработки Model-View-Controller (MVC). MVC — это программный подход, который отделяет логику приложения от представления. Контроллер играет важную роль в Symfony Framework. Все веб-страницы в приложении должны обрабатываться контроллером.
Класс DefaultController находится в «src / AppBundle / Controller» . Там вы можете создать свой собственный класс Controller.
Перейдите в папку «src / AppBundle / Controller» и создайте новый класс StudentController .
Ниже приведен основной синтаксис для класса StudentController .
StudentController.php
namespace AppBundle\Controller; use Symfony\Component\HttpFoundation\Response; class StudentController { }
Теперь вы создали StudentController. В следующей главе мы подробнее обсудим контроллер.
Создать маршрут
Как только Контроллер был создан, нам нужно направить на конкретную страницу. Маршрутизация отображает URI запроса на метод конкретного контроллера.
Ниже приведен основной синтаксис для маршрутизации.
namespace AppBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Component\HttpFoundation\Response; use Symfony\Bundle\FrameworkBundle\Controller\Controller; class StudentController { /** * @Route("/student/home") */ public function homeAction() { return new Response('Student details application!'); } }
В приведенном выше синтаксисе @Route («/ student / home») является маршрутом. Он определяет шаблон URL для страницы.
homeAction () — это метод действия, в котором вы можете построить страницу и вернуть объект Response.
Мы подробно рассмотрим маршрутизацию в следующей главе. Теперь запросите URL «http: // localhost: 8000 / student / home», и он даст следующий результат.