1.Предисловие переводчика
2.Краткий тур по Symfony
- Общая картина
- Загрузка и установка
- Проверка конфигурации
- Создаё м первое приложение
- Работаем с Окружениями (Environments)
- Заключительное слово
- Представление (view)
- Twig, краткий обзор
- Декорирование шаблонов
- Теги, фильтры и функции
- Экранирование вывода
- Заключительное слово
- Контроллер
- Использование форматов
- Объект Response
- Управление ошибками
- Перемещения и перенаправления
- Объект Request
- Сессия
- Заключительное слово
- Архитектура
- Структура директорий
- Система бандлов
- Применение вендоров
- Кэширование и Логи
- Интерфейс командной строки
- Заключительное слово
3.Книга Symfony
- Словарь терминов
- Symfony2 и основы HTTP
- HTTP это Просто
- Запросы и ответы в PHP
- Запросы и ответы в Symfony
- Путешествие от Запроса до Ответа
- Symfony2: Создавайте приложение, а не инструменты.
- Symfony2 против чистого PHP
- Простой блог на чистом PHP
- Добавляем страницу блога “show”
- “Front Controller” вам в помощь
- Создание фронт-контроллера
- Лучшие шаблоны
- Дополнительная информация в Cookbook
- Установка и настройка Symfony2
- Загрузка дистрибутива Symfony2
- Начало разработки
- Использование системы контроля версий
- Создание страниц в Symfony2
- Страница “Hello Symfony!”
- Структура директорий
- Система пакетов (бандлов)
- Конфигурация приложения
- Окружения
- Заключение
- Контроллер
- Жизненный цикл Запрос-Контроллер-Ответ
- Простой контроллер
- Соответствие URL Контроллеру
- Базовый класс контроллера
- Контроллер, Базовые операции
- Разбираемся с ошибками и 404 страница
- Работа с Сессиями
- Объект Ответа
- Объект запроса
- Заключение
- Дополнительно в книге рецептов:
- Маршрутизация
- Маршрутизация в действии
- Маршрутизация; Что под капотом
- Создание маршрутов
- Шаблон Именования Контроллера
- Параметры маршрута и Аргументы контроллера
- Подключение внешних ресурсов для маршрутизации
- Отображение и Отладка маршрутов
- Генерация URL
- Заключение
- Дополнительная информация из Книги Рецептов
- Создание и использование Шаблонов
- Шаблоны
- Наследование шаблонов и Layout
- Правила именования и расположения Шаблонов
- Таги и Хелперы
- Подключение CSS и Javascript файлов в Twig
- Настройка и использование сервиса
шаблонизатора - Переопределение шаблонов пакета
- Трёхуровневое наследование
- Экранирование
- Форматы шаблонов
- Заключение
- Читайте в книге рецептов
- Базы данных и Doctrine (“Модель”)
- Простой пример: Product
- Запрашивание объектов
- Связи/объединения сущностей
- Конфигурация
- Lifecycle Callbacks
- Расширения для Doctrine: Timestampable, Sluggable и другие
- Справка по типам полей в Doctrine
- Консольные команды
- Выводы
- Тестирование
- Тестовый фреймворк PHPUnit
- Модульные тесты
- Функциональные тесты
- Работаем с Тестовым клиентом
- Crawler
- Тестовая конфигурация
- Узнайте больше из Рецептов
- Валидация
- Основы Валидации
- Конфигурирование
- Ограничения
- Цели для ограничений
- Валидационные группы
- Валидация простых значений и массивов
- Заключение
- Дополнительно в книге рецептов:
- Формы
- Создание простой формы
- Валидация форм
- Встроенные типы полей
- Опции полей форм
- Автоматическое определение типов полей
- Отображение формы в шаблоне
- Создание классов форм
- Формы и Doctrine
- Встроенные формы
- Дизайн форм
- Защита от CSRF атак
- Использование форм без класса
- Заключение
- Читайте также в книге рецептов
- Безопасность
- Простой пример: базовая HTTP аутентификация
- Как работает безопасность: Аутентификация и Авторизация
- Используем традиционную форму логина
- Авторизация
- Пользователи
- Роли
- Выход из системы
- Контроль доступа в шаблонах
- Контроль доступа в контроллерах
- Подмена пользователя
- Аутентификация без сохранения состояния (stateless)
- Заключение
- Читайте также в книге рецептов
- HTTP Кэширование
- Кэширование на плечах гигантов
- Кэширование при помощи кэширующего шлюза
- Введение в HTTP кэширование
- Модели кэширования в HTTP: expiration и validation
- Использование ESI (Edge Side Includes)
- Очистка (аннулирование) кэша
- Summary
- Дополнительная информация в книге рецептов:
- Переводы
- Настройка
- Основы переводов
- Каталоги сообщений
- Использование доменов сообщений
- Работа с локалью пользователя
- Множественное число для сообщений
- Переводы в шаблонах
- Форсирование локали переводчика
- Перевод контента из базы данных
- Заключение
- Контейнер служб
- Что такое служба?
- Что такое контейнер служб?
- Создание/настройка служб в контейнере
- Параметры службы
- Импорт конфигураций контейнера
- Использование одних служб внутри других (Внедрение служб)
- Делаем ссылки на службы опциональными
- Основные службы Symfony и службы от сторонних разработчиков
- Продвинутая конфигурация контейнера
- 4.Дополнительно читайте в книге рецептов:
- Быстродействие
- Используйте Кэширование байт-кода (например, APC)
- Используйте кэширующий автозагрузчик (например
ApcUniversalClassLoader) - Файлы для начальной загрузки (Bootstrap)
- Составные части
- Обзор
- Ядро (Kernel)
- Диспетчер событий (Event Dispatcher)
- Профайлер
- Читайте в книге рецептов
- Стабильный API Symfony2
5.Книга рецептов Symfony
- Процесс разработки
- Как создать и разместить Проект на Symfony2 в git-репозитории
- Как создать и разместить Проект на Symfony2 в Subversion
- Контроллеры
- Как создать собственные страницы ошибок
- Как определять Контроллеры в качестве сервисов
- Маршрутизатор
- Как заставить маршрутизатор всегда использовать HTTPS или HTTP
- Как разрешить символ “/” в параметре маршрута
- Работа с сообщениями э лектронной почты
- Как отправлять электронную почту
- Как использовать Gmail для отправки электронных писем
- Тестирование
- Как смоделировать HTTP аутентификацию в Функциональном тесте
- Как тестировать взаимодействие с несколькими клиентами
- Как использовать профилировщик в Функциональном тесте
- Кэширование
- Как использовать Varnish для ускорения работы сайта
- Шаблоны
- Внедрение переменных во все шаблоны (т.н. Глобальные переменные)
- Как использовать PHP шаблоны вмесро Twig