Symfony 2 - швидкий старт

Добрий день друзі! Сьогодні ми продовжуємо говорити про Symfony 2 - воістину потужному і сучасному фреймворку. Його цілком можна назвати складним для освоєння, але зрозумівши суть концепції, закладеної розробниками, можна значно прискорити процес створення програми.

КРОК 1. Установка Symfony installer

Відкриваємо консоль і виконуємо команди:

В результаті у нас з'являється системна команда symfony.

Відкриваємо консоль і виконуємо команду:

Далі переміщаємо скачаний файл symfony в директорію з проектом і можемо запускати додаток як зазначено нижче:

КРОК 2. Створення проекту

Після установки інсталятора, створюємо проект:

Також існує можливість створювати проекти на основі певних версій Symfony і без інсталятора за допомогою Composer. Почитати докладніше можна тут.

Для тих, хто пользуемтся PhpStorm. існує також можливість створення проекту Symfony прямо з IDE (File -> New project -> Symfony Installer)

Symfony 2 - швидкий старт

Отже, у нас вже є створений проект Symfony 2. Структура директорій виглядає наступним чином:

1. / app - каталог додатки, тут зберігаються конфіги, логи, ресурси програми

2. / src - каталог з бандл (в інших фремфорках їх ще називають модулями - структурні одиниці додатки)

3. / vendor - каталог з усіма залежностями проекту, створюється composer 'ом

4. / web - каталог, доступний ззовні, публічний каталог.

Щоб подивитися, що у нас вийшло, потрібно запустити web-сервер.

КРОК 3. Запуск web-сервера

Для цього переходимо в каталог з проектом, використовуючи консоль і виконуємо команду:

Щоб запустити сервер у фоновому процесі, виконуємо команду:

Для перевірки статусу сервера використовуємо команду:

І, нарешті, для зупинки сервера:

Symfony 2 - швидкий старт

Тепер нам потрібно налаштувати проект.

КРОК 4. Конфігурація проекту

Всі основні конфігураційні файли проекту знаходяться в папці / app / config. Перший файл, який нам знадобиться - /app/config/parameters.yml. Це файл в якому зберігаються всі основні параметри програми. За замовчуванням він генерується при створенні проекту і виглядає наступним чином:

Якщо ваш додаток, наприклад, використовує базу даних, замініть відповідні параметри на свої. Важливо також відзначити, що цей файл зазвичай виключають з комита в репозиторії систем контролю версій і для кожного середовища виконання він свій. Розробники рекомендують нам зберігати тільки в цьому файлі всі параметри нашого застосування.

На цьому етапі у нас є все, щоб почати розробку.

КРОК 5. Створення першої сторінки

Для створення нової сторінки нам потрібно:

1. Налаштувати маршрут

Основні правила роутінга зберігаються в файлі /app/config/routing.yml. За замовчуванням ми можемо побачити там наступне:

Це означає, що всі Рауса для контролерів в папці / src / AppBundle / Controllers описуються за допомогою анотацій в контролерах.

2. Створити контролер для сторінки

Назвемо наш контролер IndexController і збережемо в файлі /src/AppBundle/IndexController.php. Відразу скажу, що розробники фреймворка рекомендують створювати тільки один бандл додатки AppBundle і розташовувати там все компоненти програми, якщо тільки ви не хочете використовувати будь-якої функціонал в іншому додатку.

Пишемо наступний код в контролері.

Таким чином, ми створили action hello. який очікує параметр name. далі ми отрісовиваємих наше уявлення, передаючи цей параметр.

Тут важливо відзначити, що будь-який action в Symfony повинен повертати об'єкт Response. Тому в коді ми видем оператор return.

3. Створити файл уявлення для сторінки (view)

Symfony і тут дає нам право вибору шаблонізатора, але ми будемо користуватися дефолтних - Twig. бо він воістину прекрасний і дає можливість успадковувати шаблони, і, відповідно, перевизначити деякі їх блоки. Тут ми створюємо папку, однойменну з нашим контролером - index. і, власне, файл уявлення hello.html.twig. Файл розшифровується так:

- html. формат уявлення. Також може бути xml, json і ін.

Пишемо наступний код у файлі:

Ну що, подивимося на результат.

Symfony 2 - швидкий старт

Підведемо підсумки. Ми навчилися розгортати новий Symfony проект, подивилися на структуру директорій в ньому, побіжно ознайомилися з конфігурацією проекту, маршрутами і шаблонізатором. Тепер все це, в тому числі і створення нової сторінки не повинно бути проблемою. Але це тільки початок, основа основ. Symfony таїть в собі безліч цікавого. Ще кілька цікавих базових речей шукайте в продовженні цієї статті.