Содержание
Данная книга — коллекция статей о 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
- Режим обслуживания