- •Глава 1. Теоретические основы технологий symfony framework 7
- •Глава 2. Создание приложения на основе технологий symfony framework 51
- •Введение
- •Глава 1. Теоретические основы технологий symfony framework
- •1.1. История развития веб-технологий и существующие проблемы
- •1.2. Обзор типовых решений в области веб-разработки
- •1.3. Модель mvc и ооп в веб-программировании
- •1.4. Назначение и установка Symfony Framework
- •1.5. Структура Symfony Framework
- •1.5.1. Конфигурация
- •1.5.2. Бандлы
- •1.5.3. Сущности Doctrine
- •1.5.4. Маршрутизация
- •1.5.5. Контроллеры
- •1.5.6. Шаблонизатор Twig
- •1.5.7. Генерация форм и валидация
- •1.5.8. Безопасность
- •1.5.9. Сервисы
- •1.5.10. Консольные команды
- •1.5.11. Механизмы тестирования
- •1.6. Развертывание приложения Symfony
- •Глава 2. Создание приложения на основе технологий symfony framework
- •2.1. Постановка задачи
- •2.2. Настройка develop-сервера и установка Symfony
- •2.3. Установка дополнительных библиотек через composer
- •2.4. Вёрстка шаблона, npm, webpack
- •2.5. Генерация сущностей и форм
- •2.6. Определение маршрутов и контроллеров
- •2.7. Создание и настройка сервисов
- •2.8. Написание консольных команд и заданий cron
- •2.9. Тестирование
- •2.10. Перенос проекта на production-сервер
- •Заключение
- •Список литературы
- •Приложения
1.4. Назначение и установка Symfony Framework
Использование фреймворков позволяет структурировать разработку, повторно использовать общие модули, облегчает долгосрочное обслуживание и масштабируемость в соответствии со стандартными правилами разработки. По сравнению с CMS, фреймворки обеспечивают гибкость и могут быть использованы для разработки приложений, которые наиболее точно соответствуют заявленным требованиям, но в тоже время требуют определённые технические знания, связанные с разработкой, интеграцией и техническим обслуживанием [19].
По сравнению с самописными приложениями, использование фреймворков гарантирует соответствие кода современным стандартам, структурирование, поддержку и масштабируемость. А также сокращает время разработки, позволяет повторно использовать модули [20].
Symfony Framework – свободный PHP-фреймворк, разработанный компанией Sensio Labs в соответствии с паттерном MVC и предназначенный для создания сайтов и веб-приложений. Он простроен на основе компонентов Symfony, каждый из которых может быть использован отдельно от самого фреймворка. Первый релиз состоялся 22 октября 2005 года. Последней версией является 3.3.2 (6 июня 2017 года), требует PHP 5.5.9 и выше, поддерживает большое количество баз данных (PostgrerSQL, MySQL, SQLite) благодаря ORM-инструменту Doctrine. Одна из самых популярных CMS – Drupal 8 основа на Symfony Framework [21].
Symfony предоставляет специальное приложение под названием Symfony Installer для упрощения создания приложений Symfony. Этот установщик представляет собой исполняемый файл, совместимый с PHP 5.4, который должен быть установлен в системе только один раз:
#Linux и MacOS
sudo mkdir -p /usr/local/bin
sudo curl -LsS https://symfony.com/installer -o /usr/local/bin/symfony
sudo chmod a+x /usr/local/bin/symfony
#Widnows
php -r "readfile('https://symfony.com/installer');" > symfony
Листинг 2. Команды для установки Symfony Installer
После установки Symfony Installer для создания приложения Symfony необходимо ввести команду «symfony new project_name».
Эта команда создает новый каталог, project_name/ который содержит пустой проект, основанный на последней версии стабильной версии Symfony. Кроме того, установщик проверяет, соответствует ли система техническим требованиям для выполнения приложений Symfony. Если нет, отобразится список изменений, необходимых для удовлетворения этих требований.
Также имеется возможность создавать приложения Symfony с помощью Composer, менеджера зависимостей, используемого современными PHP-приложениями. Для этого используется команда «composer create-project symfony/framework-standard-edition project_name». Для обновления компонентов Symfony используется команда «php bin/console server:run».
Symfony использует внутренний веб-сервер PHP (доступный с PHP 5.4) для запуска приложений при их разработке. Запуск приложения Symfony осуществляется командой «php bin/console server:run». После этого необходимо перейти в браузере по адресу http://localhost:8000/. Если установка прошла успешно, и система удовлетворяет требованием отобразится страница приветствия (рис. 5).
Рис. 5. Страница приветствия Symfony 2.8.0
