Добрий день друзі! Сьогодні ми продовжуємо говорити про Symfony 2 - воістину потужному і сучасному фреймворку. Його цілком можна назвати складним для освоєння, але зрозумівши суть концепції, закладеної розробниками, можна значно прискорити процес створення програми.
КРОК 1. Установка Symfony installer
Відкриваємо консоль і виконуємо команди:
В результаті у нас з'являється системна команда symfony.
Відкриваємо консоль і виконуємо команду:
Далі переміщаємо скачаний файл symfony в директорію з проектом і можемо запускати додаток як зазначено нижче:
КРОК 2. Створення проекту
Після установки інсталятора, створюємо проект:
Також існує можливість створювати проекти на основі певних версій Symfony і без інсталятора за допомогою Composer. Почитати докладніше можна тут.
Для тих, хто пользуемтся PhpStorm. існує також можливість створення проекту Symfony прямо з IDE (File -> New project -> Symfony Installer)
Отже, у нас вже є створений проект Symfony 2. Структура директорій виглядає наступним чином:
1. / app - каталог додатки, тут зберігаються конфіги, логи, ресурси програми
2. / src - каталог з бандл (в інших фремфорках їх ще називають модулями - структурні одиниці додатки)
3. / vendor - каталог з усіма залежностями проекту, створюється composer 'ом
4. / web - каталог, доступний ззовні, публічний каталог.
Щоб подивитися, що у нас вийшло, потрібно запустити web-сервер.
КРОК 3. Запуск web-сервера
Для цього переходимо в каталог з проектом, використовуючи консоль і виконуємо команду:
Щоб запустити сервер у фоновому процесі, виконуємо команду:
Для перевірки статусу сервера використовуємо команду:
І, нарешті, для зупинки сервера:
Тепер нам потрібно налаштувати проект.
КРОК 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 проект, подивилися на структуру директорій в ньому, побіжно ознайомилися з конфігурацією проекту, маршрутами і шаблонізатором. Тепер все це, в тому числі і створення нової сторінки не повинно бути проблемою. Але це тільки початок, основа основ. Symfony таїть в собі безліч цікавого. Ще кілька цікавих базових речей шукайте в продовженні цієї статті.