Yii. Сборник рецептов
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Автор:
Макаров Александр Сергеевич
Год издания: 2023
Кол-во страниц: 373
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-89818-583-1
Артикул: 817027.01.99
Данная книга познакомит вас с самыми важными особенностями и внутренними механизмами PHP-фреймворка Yii, что позволит вам использовать его наиболее эффективно. Сборник поможет вам изучить часто упускаемые из вида, но очень полезные особенности фреймворка и повысить свой уровень как разработчика приложений. Наиболее интересные темы касаются разработки приложений и расширений, обработки ошибок, отладки, вопросов безопасности и улучшения производительности.
Издание предназначено для веб-разработчиков как уже знакомых с Yii, так и начинающих пользователей фреймфорка.
- Полная коллекция по информатике и вычислительной технике
- Веб-разработка
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование
- Программирование и алгоритмизация
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Александр Макаров Yii. Сборник рецептов Более 80 рецептов, которые помогут вам использовать PHP-фреймворк Yii
.
Yii. Сборник рецептов Более 80 рецептов, которые помогут вам использовать PHP-фреймворк Yii Александр Макаров Москва, 2023 Издание рекомендовано в качестве учебного пособия для студентов технических вузов 2-е издание, электронное
УДК 004.738.5:004.45Yii ББК 32.973.202-018.2 М15 М15 Макаров, Александр Сергеевич. Yii. Сборник рецептов / А. С. Макаров ; пер. с англ. — 2-е изд., эл. — 1 файл pdf : 373 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-583-1 Данная книга познакомит вас с самыми важными особенностями и внутренними механизмами PHP-фреймворка Yii, что позволит вам использовать его наиболее эффективно. Сборник поможет вам изучить часто упускаемые из вида, но очень полезные особенности фреймворка и повысить свой уровень как разработчика приложений. Наиболее интересные темы касаются разработки приложений и расширений, обработки ошибок, отладки, вопросов безопасности и улучшения производительности. Издание предназначено для веб-разработчиков как уже знакомых с Yii, так и начинающих пользователей фреймфорка. УДК 004.738.5:004.45Yii ББК 32.973.202-018.2 Электронное издание на основе печатного издания: Yii. Сборник рецептов / А. С. Макаров ; пер. с англ. — Москва : ДМК Пресс, 2015. — 372 с. — ISBN 978-5-97060-245-4. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-583-1 © 2011 Packt Publishing. © Оформление, перевод на русский язык ДМК Пресс, 2015
Посвящается русскоязычному сообществу Yii. Вы лучшие!
ОГЛАВЛЕНИЕ Предисловие ............................................. 10 Рецензенты английской версии .................... 11 Благодарности ........................................... 12 Об авторе .................................................. 13 Введение .................................................. 14 Что вы найдёте в данной книге ................................................ 14 Что понадобится для чтения этой книги ................................... 16 На кого рассчитана эта книга ................................................... 17 Соглашения ............................................................................. 17 Обратная связь ........................................................................ 17 Глава 1. Под капотом ................................... 18 Вступление .............................................................................. 18 Использование getters и setters ............................................... 18 Использование событий Yii ...................................................... 21 Использование импорта и автозагрузки .................................. 29 Использование исключений .................................................... 32 Настройка компонентов .......................................................... 35 Настройка виджетов по умолчанию ......................................... 38 Использование коллекций ядра Yii ........................................... 40 Работа с запросами ................................................................. 44 Глава 2. Маршрутизация, контроллеры и представления ........................................ 48 Введение ................................................................................. 48 Правила маршрутизации ......................................................... 49 Автоматическая генерация URL-адресов ................................. 52 Регулярные выражения в правилах маршрутизации ................ 56 Правила маршрутизации для статических страниц .................. 60 Добавление правил маршрутизации в рабочее приложение .... 62 Базовый контроллер ................................................................ 66
Оглавление Подключение внешних действий ............................................. 68 Отображение статических страниц при помощи CViewAction .....71 Использование flash-сообщений ............................................. 73 Контекст контроллера в представлении................................... 74 Повторное использование вложенных представлений ............. 76 Клипы ...................................................................................... 78 Декораторы ............................................................................. 80 Несколько макетов в приложении ............................................ 81 Постраничная разбивка и сортировка данных .......................... 84 Глава 3. AJAX и jQuery .................................. 86 Введение ................................................................................. 86 Загрузка блока через AJAX ...................................................... 86 Управление ресурсами ........................................................... 91 Подключение ресурсов ............................................................ 96 Работа с JSON ......................................................................... 99 Передача параметров из PHP в JavaScript ............................. 102 Обработка переменного числа полей в форме ...................... 104 Глава 4. Работа с формами ......................... 111 Введение ............................................................................... 111 Пишем свой валидатор .......................................................... 111 Загрузка файлов ................................................................... 114 Добавление CAPTCHA............................................................ 118 Настройка CAPTCHA .............................................................. 122 Создаем виджет для ввода при помощи CInputWidget ............ 125 Глава 5. Тестирование приложений .............. 129 Введение ............................................................................... 129 Настройка тестового окружения ............................................ 129 Написание и запуск юнит-тестов ........................................... 133 Фикстуры .............................................................................. 139 Функциональное тестирование ............................................. 144 Генерация отчетов о покрытии кода ....................................... 149 Глава 6. База данных, Active record и трюки с моделями ............................................. 153 Введение ............................................................................... 153 Получение данных из базы данных ........................................ 154 Создание и использование нескольких подключений к базам данных ...................................................................... 160 Использование именованных групп условий для создания многоязычных моделей .................................... 163
Оглавление Обработка полей модели с помощью методов-событий Active Record ......................................................................... 167 Применение markdown и HTML .............................................. 169 Подсветка кода с помощью Yii ................................................ 172 Автоматический timestamp .................................................... 178 Автоматическое указание автора........................................... 180 Реализация наследования с одной таблицей ......................... 182 Использование CDbCriteria .................................................... 186 Глава 7. Использование компонентов Zii ....... 188 Введение ............................................................................... 188 Использование источников данных ....................................... 188 Использование гридов .......................................................... 195 Использование списков ......................................................... 202 Создание своих столбцов грида ............................................ 206 Глава 8. Расширение Yii ............................. 213 Введение ............................................................................... 213 Создание поведений модели ................................................. 213 Создание компонентов .......................................................... 220 Создание действий контроллера, пригодных для повторного использования ............................................. 224 Создание контроллеров, пригодных для повторного использования ...................................................................... 227 Создание виджета ................................................................. 231 Создание консольных команд ................................................ 234 Создание фильтров ............................................................... 237 Создание модулей ................................................................. 239 Создание своего обработчика шаблонов ............................... 246 Подготовка расширений к публикации .................................. 251 Глава 9. Обработка ошибок, отладка и журналирование ...................................... 255 Введение ............................................................................... 255 Использование различных маршрутов для журналов ............. 255 Анализ трассировки стека при ошибках ................................. 262 Журналирование и использование контекстной информации .......................................................................... 265 Реализация собственного умного обработчика кода 404 ....... 270 Глава 10. Безопасность ............................. 275 Введение ............................................................................... 275 Использование фильтров контроллера .................................. 275
Оглавление Использование CHtml и CHtmlPurifier для предотвращения XSS ........................................................................................ 280 Предотвращение SQL-инъекций ............................................ 285 Предотвращение CSRF .......................................................... 290 Использование RBAC ............................................................ 294 Глава 11. Настройка производительности ..... 302 Введение ............................................................................... 302 Использование передового опыта ......................................... 302 Ускорение управления сессиями ........................................... 308 Использование зависимостей кеша и цепочек ...................... 312 Профилирование приложений с помощью Yii ......................... 318 Глава 12. Использование постороннего кода ...329 Введение ............................................................................... 329 Использование Zend Framework из Yii .................................... 329 Настройка автозагрузчика Yii ................................................. 334 Использование Kohana внутри Yii ........................................... 339 Использование PEAR внутри Yii .............................................. 346 Глава 13. Развертывание ........................... 349 Введение ............................................................................... 349 Изменение структуры директорий Yii ..................................... 349 Перемещение приложения из корневой директории сервера ................................................................................. 352 Совместное использование директории фреймворка ........... 355 Перемещение части настроек в отдельные файлы ................. 356 Использование нескольких конфигураций для упрощения развертывания ...................................................................... 362 Реализация и исполнение заданий cron ................................. 366 Режим обслуживания ............................................................ 368
ПРЕДИСЛОВИЕ Когда Александр рассказал мне, что собирается писать сборник рецептов по Yii, я задумался, насколько уникальными они будут, ведь в то время уже была создана официальная wiki, пополняющаяся силами сообщества. Мои опасения были напрасны. Книга получилась полной информации об эффективном использовании фреймворка. Информация была подана настолько методично, что вполне могла использоваться как необходимое дополнение к полному руководству по Yii. В процессе написания Александр просил членов команды Yii высказать своё мнение о черновиках и в процессе сумел заинтересовать всех нас. Как автор и ведущий разработчик Yii я считаю, что эту книгу должен прочитать каждый, кто работает с фреймворком. В книге нет формального описания правил разработки. Вместо этого она показывает, как программировать на Yii с практической точки зрения. Материал особенно пригодится тем, кто работает со сжатыми сроками, так как в нём представлено множество решений проблем, с которыми разработчики могут столкнуться в своих проектах. Тем, кто уже знаком с фреймворком, книга также будет интересна. Большинство решений, предстваленных в данной книге, можно считать рекомендуемыми официально, так как они прошли тщательное рецензирование каждым членом команды Yii. Александр показал себя данной книгой и его активным участием в проекте Yii как отличный программист и писатель. Qiang Xue, ведущий разработчик фреймворка Yii