Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Yii. Сборник рецептов

Покупка
Артикул: 817027.01.99
Доступ онлайн
559 ₽
В корзину
Данная книга познакомит вас с самыми важными особенностями и внутренними механизмами PHP-фреймворка Yii, что позволит вам использовать его наиболее эффективно. Сборник поможет вам изучить часто упускаемые из вида, но очень полезные особенности фреймворка и повысить свой уровень как разработчика приложений. Наиболее интересные темы касаются разработки приложений и расширений, обработки ошибок, отладки, вопросов безопасности и улучшения производительности. Издание предназначено для веб-разработчиков как уже знакомых с Yii, так и начинающих пользователей фреймфорка.
Макаров, А. С. Yii. Сборник рецептов : учебное пособие / А. С. Макаров ; пер. с англ. — 2-е изд. - Москва : ДМК Пресс, 2023. - 373 с. - ISBN 978-5-89818-583-1. - Текст : электронный. - URL: https://znanium.com/catalog/product/2107947 (дата обращения: 11.12.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
Александр Макаров

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

Доступ онлайн
559 ₽
В корзину