RUSSIAN

Symfony 5. Быстрый старт

Book information

Publisher
Symfony SAS
Year
2020
ISBN
9782918390428
Language
russian
Format
PDF
Filesize
16 MB (16971499 bytes)
Pages
\360
Time added
2020-05-27 17:39:53

Description

Symfony 5. Быстрый старт Fabien Potencier Оглавление Содержание Благодарности¶ Переводчики¶ Спонсоры среди компаний¶ Спонсоры среди частных лиц¶ Любовь семьи¶ О чём эта книга?¶ Проверка рабочего окружения¶ Компьютер¶ Используемые технологии¶ IDE¶ Терминал¶ Git¶ PHP¶ Composer¶ Docker и Docker Compose¶ Symfony CLI¶ Знакомство с проектом¶ Определение цели проекта¶ Обучение на практике¶ Итоговая диаграмма структуры проекта¶ Получение исходного кода проекта¶ Навигация по коду¶ С нуля до развёртывания¶ Инициализация проекта¶ Создание публичных ресурсов¶ Запуск локального веб-сервера¶ Добавление фавиконки¶ Подготовка к развёртыванию в продакшене¶ Развёртывание в продакшене¶ Выбор методологии разработки¶ Стратегия использования Git¶ Развёртывание в продакшене с помощью непрерывной интеграции¶ Поиск и устранение неисправностей¶ Установка дополнительных зависимостей¶ Понимание окружений Symfony¶ Управление конфигурациями окружений¶ Логирование всех действий¶ Изучение средств отладки Symfony¶ Настройка среды разработки¶ Отладка в продакшене¶ Создание контроллера¶ Ускорение разработки с помощью бандла Maker¶ Выбор формата конфигурации¶ Генерация контроллера¶ Добавление пасхального яйца¶ Подготовка базы данных¶ Добавление PostgreSQL в Docker Compose¶ Запуск Docker Compose¶ Обращение к локальной базе данных¶ Добавление PostgreSQL в SymfonyCloud¶ Доступ к базе данных на SymfonyCloud¶ Просмотр переменных окружения¶ Описание структуры данных¶ Настройка Doctrine ORM¶ Разбираемся в соглашениях по именованию переменных окружения в Symfony¶ Изменение начального значения DATABASE_URL в файле .env¶ Создание классов сущностей¶ Связывание сущностей¶ Добавление дополнительных свойств¶ Миграция базы данных¶ Обновление локальной базы данных¶ Обновление базы данных в продакшене¶ Создание административной панели¶ Настройка бандла EasyAdmin¶ Настройка EasyAdmin¶ Создание пользовательского интерфейса¶ Установка Twig¶ Использование Twig для шаблонов¶ Использование Twig в контроллере¶ Создание страницы для конференции¶ Перелинковка страниц¶ Постраничный вывод комментариев¶ Рефакторинг контроллера¶ Работа с ветками¶ Организация рабочего процесса с помощью Git¶ Описание инфраструктуры¶ Создание веток¶ Хранение сессий в Redis¶ Развёртывание ветки¶ Предварительная отладка развёртывания в продакшене¶ Предварительное тестирование развёртывания в продакшене¶ Развёртывание в продакшене¶ Очистка¶ Обработка событий¶ Добавление шапки сайта¶ Исследуем события Symfony¶ Реализация подписчика¶ Сортировка конференций по годам и городам¶ Жизненный цикл объектов Doctrine¶ Определение обратных вызовов событий жизненного цикла¶ Добавление слагов для конференций¶ Генерация слагов¶ Определение сложных обратных вызовов жизненного цикла¶ Настройка сервиса в контейнере¶ Использование слагов в приложении¶ Получение обратной связи с помощью форм¶ Создание типа формы¶ Отображение формы¶ Настройка типа формы¶ Валидация моделей¶ Обработка формы¶ Загрузка файлов¶ Отладка форм¶ Отображение загруженных фотографий в административной панели¶ Игнорирование загруженных фотографий в Git¶ Хранение загруженных файлов в продакшене¶ Защита административной панели¶ Определение сущности для пользователей¶ Создание пароля для администратора¶ Создание администратора¶ Настройка аутентификации¶ Добавление правил контроля доступа для авторизации¶ Аутентификация через форму входа¶ Защита от спама с помощью API¶ Регистрация в Akismet¶ Добавление компонента Symfony HTTPClient¶ Создание класса для проверки на спам¶ Использование переменных окружения¶ Хранение конфиденциальных данных¶ Проверка комментариев на спам¶ Управление конфиденциальными данными в продакшене¶ Тестирование¶ Написание модульных тестов¶ Написание функциональных тестов для контроллеров¶ Определение фикстур¶ Применение фикстур¶ Сканирование сайта в функциональных тестах¶ Работа с тестовой базой данных¶ Отправка формы в функциональном тесте¶ Выгрузка фикстур¶ Автоматизация рабочего процесса с помощью Make-файлов¶ Очистка базы данных после каждого теста¶ Использование настоящего браузера для функциональных тестов¶ Выполнение функциональных тестов по принципу чёрного ящика с помощью Blackfire¶ Переход к асинхронности¶ Установка статусов комментариев¶ Внедрение компонента Messenger¶ Создание обработчика сообщений¶ Сокращение количества отображаемых комментариев¶ Переходим к асинхронности по-настоящему¶ Добавление RabbitMQ в Docker¶ Перезапуск сервисов Docker¶ Получение сообщений¶ Знакомство с панелью управления RabbitMQ¶ Запуск воркеров в фоновом режиме¶ Повторная обработка сообщений в случае ошибки¶ Развёртывание RabbitMQ¶ Выполнение воркеров на SymfonyCloud¶ Управление состоянием с помощью Workflow¶ Определение бизнес-процессов¶ Использование бизнес-процессов¶ Отправка электронной почты администраторам¶ Установка адреса электронной почты для администратора¶ Отправка уведомления по электронной почте¶ Расширение шаблона электронной почты для уведомлений¶ Создание абсолютных адресов с помощью команды¶ Подключение маршрута к контроллеру¶ Использование перехватчика почты¶ Доступ к почтовому веб-сервису¶ Управление долго выполняющимися скриптами¶ Асинхронная отправка электронной почты¶ Тестирование электронной почты¶ Отправка электронной почты в SymfonyCloud¶ Повышение производительности с помощью кеширования¶ Добавление заголовков кеширования HTTP¶ Активация ядра HTTP-кеширования в Symfony¶ Кеширование SQL-запросов при помощи ESI¶ Очистка HTTP-кеша для тестирования¶ Группировка схожих маршрутов по префиксу¶ Кеширование операций с большим потреблением ресурсов ЦПУ/памяти¶ Профилирование и сравнение производительности¶ Настройка кеширующего обратного прокси-сервера в продакшене¶ Включение поддержки ESI в Varnish¶ Инвалидация кеша Varnish¶ Стилизация интерфейса с помощью Webpack¶ Использование Sass¶ Эффективное использование Bootstrap¶ Стилизация HTML-шаблона¶ Сборка ресурсов¶ Изменение размера изображений¶ Оптимизация изображений с помощью Imagine¶ Добавление нового шага в бизнес-процесс¶ Хранение загруженных данных в продакшене¶ Выполнение заданий cron¶ Очистка ненужных комментариев¶ Использование констант класса, параметров контейнера и переменных среды окружения¶ Создание CLI-команды¶ Настройка cron в SymfonyCloud¶ Уведомление различными способами¶ Отправка уведомлений в браузере¶ Уведомление администраторов по электронной почте¶ Отправка уведомлений в чаты для администраторов¶ Включение асинхронного режима для всех каналов¶ Уведомление пользователей по электронной почте¶ Создание API с помощью API Platform¶ Установка API Platform¶ Создание API для работы с конференциями¶ Создание API для комментариев¶ Ограничение отображения комментариев из API¶ Настройка CORS¶ Разработка SPA¶ Создание приложения¶ Создание основного шаблона для SPA¶ Запуск SPA в браузере¶ Добавление маршрутизатора для обработки состояний¶ Стилизация SPA¶ Получение данных при помощи API¶ Развёртывание SPA в продакшене¶ Настройка CORS для SPA¶ Сборка приложения для смартфона с помощью Cordova¶ Локализация приложения¶ Интернационализация URL-адресов¶ Добавление переключателя локали¶ Перевод интерфейса¶ Добавление переводов¶ Перевод форм¶ Локализация дат¶ Перевод сообщений во множественном числе¶ Обновление функциональных тестов¶ Оптимизация производительности¶ Знакомство с Blackfire¶ Установка Blackfire-агента в Docker¶ Исправление неработающей установки Blackfire¶ Настройка Blackfire в продакшене¶ Настройка Varnish для работы с Blackfire¶ Профилирование веб-страниц¶ Профилирование API-ресурсов¶ Сравнение производительности¶ Написание функциональных тестов по принципу чёрного ящика¶ Автоматизация проверок производительности¶ Изучение внутренностей Symfony¶ Разбираемся во внутренностях Symfony и Blackfire¶ Использование отладчика Blackfire Debug Addon¶ Что дальше?¶ Предметный указатель Символы A B C D E F G H I M N P R S T V W А Б В И К Л М О П С Т Ф Ш

Similar books