Содержание

Данная книга — коллекция статей о Yii, собранных в 13 независимых глав.

Глава 1. Под капотом
Расскажет о самых интересных возможностях Yii, скрытых под капотом: событиях, импорте и автозагрузке, исключениях, конфигурации виджетов и компонентов.
  • Использование getters и setters
  • Использование событий Yii
  • Использование импорта и автозагрузки
  • Использование исключений
  • Настройка компонентов
  • Настройка виджетов по умолчанию
  • Использование коллекций ядра Yii
  • Работа с запросами
Глава 2. Маршрутизация, контроллеры и представления
Данная глава целиком посвящена маршрутизатору Yii, контроллерам и отображениям: правила URL, внешние действия контроллеров, клипы, декораторы и другое.
  • Правила маршрутизации
  • Автоматическая генерация URL-адресов
  • Регулярные выражения в правилах маршрутизации
  • Правила маршрутизации для статических страниц
  • Добавление правил маршрутизации в рабочее приложение
  • Базовый контроллер
  • Подключение внешних действий
  • Отображение статических страниц при помощи CViewAction
  • Использование flash-сообщений
  • Контекст контроллера в представлении
  • Повторное использование вложенных представлений
  • Клипы
  • Декораторы
  • Несколько макетов в приложении
  • Постраничная разбивка и сортировка данных
Глава 3. AJAX и jQuery
Клиентская часть Yii использует jQuery — самую широко используемую, довольно мощную и одновременно простую библиотеку JavaScript. В данной главе акцент делается на специфичных для Yii приёмах, а не на самой библиотеке jQuery.
  • Загрузка блока через AJAX
  • Управление ресурсами
  • Подключение ресурсов
  • Работа с JSON
  • Передача параметров из PHP в JavaScript
  • Обработка переменного числа полей в форме
Глава 4. Работа с формами
Yii делает работу с формами достаточно простой. Эта часть фреймворка достаточно хорошо документирована. Несмотря на это, некоторые моменты стоит пояснить на примерах. В данной главе затронуты такие темы, как создание своих валидаторов и виджетов ввода, загрузка файлов, использование и настройка CAPTCHA.
  • Пишем свой валидатор
  • Загрузка файлов
  • Добавление CAPTCHA
  • Настройка CAPTCHA
  • Создаем виджет для ввода при помощи CInputWidget
Глава 5. Тестирование приложений
В данной главе рассматривается модульное и функциональное тестирование, а также генерация отчётов о покрытии кода. Все рецепты следуют подходу разработки через тестирование: сначала вы напишете тесты для нескольких небольших приложений, а затем реализуете и сами приложения.
  • Настройка тестового окружения
  • Написание и запуск юнит-тестов
  • Фикстуры
  • Функциональное тестирование
  • Генерация отчетов о покрытии кода
Глава 6. База данных, Active Record и трюки с моделями
Из данной главы вы узнаете как эффективно работать с базой данных, когда использовать и когда не использовать модели, как работать с несколькими базами данных, автоматически обрабатывать поля моделей Active Record и использовать мощный критерий базы данных.
  • Создание и использование нескольких подключений к базам данных
  • Получение данных
  • Использование именованных групп условий для создания многоязычных моделей
  • Обработка полей модели с помощью методов-событий Active Record
  • Применение markdown и HTML
  • Подсветка кода с помощью Yii
  • Автоматический timestamp
  • Автоматическое указание автора
  • Реализация наследования с одной таблицей
  • Использование CDbCriteria
Глава 7. Использование компонентов Zii
В данной главе рассматриваются источники данных, гриды и списки. А именно, как реализовать сортировку и поиск, как использовать гриды с несколькими связанными моделями, как создать свои типы столбцов и другое.
  • Использование источников данных
  • Использование гридов
  • Использование списков
  • Создание своих столбцов грида
Глава 8. Расширение Yii
Показывает как писать свои расширения, как сделать их пригодными для повторного использования и полезными для сообщества. Особый акцент делается на том, чтобы сделать расширения настолько эффективными, насколько это возможно.
  • Создание поведений модели
  • Создание компонентов
  • Создание действий контроллера, пригодных для повторного использования
  • Создание контроллеров, пригодных для повторного использования
  • Создание виджета
  • Создание консольных команд
  • Создание фильтров
  • Создание модулей
  • Создание своего обработчика шаблонов
  • Подготовка расширений к публикации
Глава 9. Обработка ошибок, отладка и журналирование
В данной главе мы рассмотрим журналирование, анализ исключений, а также реализуем свой обработчик ошибок.
  • Использование различных маршрутов для журналов
  • Анализ трассировки стека при ошибках
  • Журналирование и использование контекстной информации
  • Реализация собственного умного обработчика кода 404
Глава 10. Безопасность
Вы узнаете, как обеспечить безопасность приложения в соответствии с главным принципом безопасности: «фильтруй входящие данные, экранируй исходящие». Мы рассмотрим такие темы, как создание своих фильтров контроллера, предотвращение XSS, CSRF и SQL инъекций, а также экранирование выходных данных и ограничение доступа на основе ролей.
  • Использование фильтров контроллера
  • Использование CHtml и CHtmlPurifier для предотвращения XSS
  • Предотвращение SQL-инъекций
  • Предотвращение CSRF
  • Использование RBAC
Глава 11. Настройка производительности
В этой главе будет рассказано о том, как настраивать Yii для получение лучшей производительности. Также будут упомянуты некоторые решения, которые позволяют разработать приложение, быстро работающее до тех пор, пока у вас не будет действительно серьёзной нагрузки и достаточное количество ресурсов, чтобы с ней бороться.
  • Использование передового опыта
  • Ускорение управления сессиями
  • Использование зависимостей кеша и цепочек
  • Профилирование приложений с помощью Yii
Глава 12. Использование постороннего кода
Показывает, как использовать сторонний код в приложениях на Yii. В качестве примеров будут использованы компоненты Zend Framework, Kohana и PEAR. Как только вы поймёте, как это работает, вы сможете использовать любой код.
  • Использование Zend Framework из Yii
  • Настройка автозагрузчика Yii
  • Использование Kohana внутри Yii
  • Использование PEAR внутри Yii
Глава 13. Развёртывание
Данная глава рассматривает различные трюки которые пригодятся при развёртывании приложений. Материалы особо полезны при командной разработке, но пригодятся и для того, чтобы просто сделать разработку более комфортной.
  • Изменение структуры директорий Yii
  • Перемещение приложения из корневой директории сервера
  • Совместное использование директории фреймворка
  • Перемещение части настроек в отдельные файлы
  • Использование нескольких конфигураций для упрощения развертывания
  • Реализация и исполнение заданий cron
  • Режим обслуживания