- •Глава 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.6. Развертывание приложения Symfony
Развертывание приложения Symfony может быть сложной и разнообразной задачей в зависимости от настроек и требований приложения.
Типичные шаги для развертывании приложения Symfony, включают:
Загрузка кода на рабочий сервер;
Установка зависимостей (обычно это выполняется через Composer и может быть выполнено перед загрузкой);
Выполнение миграции базы данных или аналогичных задач для обновления любых измененных структур данных;
Очистка кеша.
Развертывание может также включать другие задачи, такие как:
Пометка определенной версии кода как релиза в системе контроля версиями;
Создание временного промежуточного окружения для создания обновленной настройки «offline»;
Выполнение любых тестов для обеспечения стабильности кода и / или сервера;
Удаление ненужных файлов из web/ каталога, для очистки production-среды;
Очистка внешних систем кэширования (например, Memcached или Redis).
Существует несколько способов развертывания приложения Symfony. Начните с нескольких основных стратегий развертывания и создайте оттуда.
Самый простой способ развертывания приложения - копирование файлов вручную через FTP / SCP (или аналогичный метод). У этого есть свои недостатки, поскольку отсутствует система версионирования при дальнейшем обновлении. Этот метод также требует выполнить некоторые шаги вручную после передачи файлов.
При использовании системы контроля версий (например, Git или SVN), необходима её поддержка на стороне сервера, а также выполнение дополнительных действий, после копирования файлов из версионного контроля.
Существуют также инструменты, помогающие облегчить процесс развертывании. Некоторые из них были специально адаптированы к требованиям Symfony.
Capistrano с плагином Symfony
Capistrano - это средство автоматизации и развертывания удаленного сервера, написанное на Ruby. Плагин Symfony - это плагин для облегчения задач, связанных с Symfony.
sf2debpkg
Помогает создать пакет Debian для проекта Symfony.
Magallanes
Это инструмент развертывания, подобный Capistrano, построен на PHP.
Fabric
Эта библиотека на основе Python предоставляет базовый набор операций для выполнения локальных или удаленных shell-команд и выгрузки / загрузки файлов.
После развертывания исходного кода необходимо сделать несколько общих вещей:
a) Проверить соответствие системным требования с помощью «php bin/symfony_requirements»
b) Настроить app/config/parameters.yml файл
c) Установить / обновить библиотеки с помощью команды «composer install --no-dev --optimize-autoloader»
d) Очистить кэш Symfony командой «php bin/console cache:clear --env=prod --no-debug --no-warmup»
f) Дополнительно, в зависимости от конфигурации, могут потребоваться дополнительные вещи:
Выполнение миграций баз данных
Очистка кэша APC
Запуск assets:install
Добавление / редактирования заданий CRON
Публикация frontend-зависимостей в CDN
Запуск тестов
Контроль качества
После всех выполненных действий веб-приложение готово к работе и использованию на удалённом сервере.
