Профессиональное программирование - Дронов В. А. - Laravel 9. Быстрая разработка веб-сайтов на PHP + код [2023, PDF, RUS]

Reply to topic
DL-List and Torrent activity
Size:  8 MB   |    Registered:  1 year 1 month   |    Completed:  5 times
Seeders:  399  [  0 KB/s  ]   Leechers:  46  [  0 KB/s  ]   Show peers in full details
 
   
 
 
Author Message

Download WYSIWYG ®

Gender: Male

Longevity: 9 years

Posts: 1513

Post 09-Jan-2024 14:15

[Quote]

Laravel 9. Быстрая разработка веб-сайтов на PHP + код
Год издания: 2023
Автор: Дронов В. А.
Издательство: БХВ-Петербург
ISBN: 978-5-9775-1725-6
Серия: Профессиональное программирование
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Количество страниц: 763
Описание: Книга представляет собой полное описание фреймворка Laravel 9 для быстрой разработки сайтов на языке PHP. Дан краткий вводный курс для начинающих, в котором описывается разработка простого учебного сайта — электронной доски объявлений. Описаны базовые инструменты Laravel: миграции, модели, маршруты, контроллеры, шаблоны, средства обработки пользовательского ввода и сохранения выгруженных файлов, валидаторы, шаблоны, пагинаторы и инструменты разграничения доступа. Рассказано о более развитых средствах: внедрении зависимостей, провайдерах, посредниках, событиях и их обработке, отправке электронной почты, оповещениях, очередях и отложенных заданиях, встроенном планировщике, инструментах кеширования, локализации сайтов и расширении возможностей встроенной утилиты artisan. Описаны дополнительные библиотеки для обработки BBCode-тегов и CAPTCHA, вывода графических миниатюр, аутентификации через социальные сети. Рассмотрено программирование веб-служб REST, вещание по протоколу WebSocket и публикация сайта.
Электронный архив на сайте издательства содержит исходный код описанного в книге сайта.

Примеры страниц

Оглавление

Предисловие ............................................................................................................................... 19
Почему именно Laravel? ............................................................................................................... 19
О чем эта книга? ............................................................................................................................ 20
Используемое ПО .......................................................................................................................... 21
Типографские соглашения ............................................................................................................ 22
ЧАСТЬ I. ОСНОВЫ LARAVEL НА ПРАКТИЧЕСКОМ ПРИМЕРЕ ................................................................ 25
Глава 1. Простейший веб-сайт — доска объявлений ........................................................................ 27
1.1. Подготовительные действия .................................................................................................. 27
1.2. Проект и его создание. Папка проекта..................................................................................... 27
Теория .......................................................................................................................................... 27
Практика ...................................................................................................................................... 28
1.3. Запуск проекта. Отладочный веб-сервер PHP ............................................................................ 29
1.4. Контроллеры и действия ........................................................................................................ 30
Теория .......................................................................................................................................... 30
Практика ...................................................................................................................................... 31
1.5. Маршруты и списки маршрутов. Фасады ................................................................................... 32
Теория .......................................................................................................................................... 32
Практика ...................................................................................................................................... 33
1.6. Настройки проекта. Подготовка проекта к работе с базой данных SQLite .................................... 34
Теория .......................................................................................................................................... 34
Практика ...................................................................................................................................... 34
1.7. Миграции ................................................................................................................................. 36
Теория .......................................................................................................................................... 36
Практика ...................................................................................................................................... 36
1.8. Модели ..................................................................................................................................... 38
1.9. Консоль Laravel ....................................................................................................................... 39
1.10. Работа с базой данных .......................................................................................................... 40
1.11. URL-параметры. Внедрение зависимостей ................................................................................ 43
Теория .......................................................................................................................................... 43
Практика ...................................................................................................................................... 44
1.12. Шаблоны ............................................................................................................................... 46
Теория .......................................................................................................................................... 46
Практика ...................................................................................................................................... 46
1.13. Наследование шаблонов....................................................................................................... 51
Теория .......................................................................................................................................... 51
Практика ...................................................................................................................................... 51
1.14. Именованные маршруты ...................................................................................................... 53
1.15. Статические файлы ............................................................................................................... 54
Глава 2. Доска объявлений 2.0: разграничение доступа,
работа с объявлениями и локализация .......................................................................................... 55
2.1. Межтабличные связи. Работа со связанными записями ............................................................ 55
2.2. Вход и выход. Раздел пользователя ...................................................................................... 58
Теория .......................................................................................................................................... 58
Практика ...................................................................................................................................... 59
2.3. Добавление, правка и удаление записей ............................................................................... 64
2.4. Валидация данных .................................................................................................................. 70
2.5. Разграничение доступа. Посредники, политики и провайдеры .................................................... 72
Теория .......................................................................................................................................... 72
Практика ...................................................................................................................................... 73
2.6. Получение сведений о текущем пользователе ........................................................................... 76
2.7. Локализация веб-сайта ........................................................................................................... 76
ЧАСТЬ II. БАЗОВЫЕ ИНСТРУМЕНТЫ ................................................................................................. 81
Глава 3. Создание, настройка и отладка проекта ............................................................................. 83
3.1. Подготовка к установке.......................................................................................................... 83
3.2. Создание проекта .................................................................................................................... 83
3.2.1. Создание проекта с помощью Composer ................................................................................. 83
3.2.2. Создание проекта с помощью Laravel Installer.......................................................................... 84
3.3. Папки и файлы проекта .......................................................................................................... 85
3.4. Настройки проекта ................................................................................................................. 87
3.4.1. Две разновидности настроек проекта ............................................................................. 87
3.4.1.1. Локальные настройки ............................................................................................. 87
3.4.1.2. Рабочие настройки .................................................................................................. 88
3.4.2. Настройки проекта по категориям .................................................................................. 89
3.4.2.1. Базовые настройки проекта .................................................................................... 89
3.4.2.2. Настройки режима работы веб-сайта .................................................................... 90
3.4.2.3. Настройки шифрования .......................................................................................... 90
3.4.2.4. Настройки баз данных ............................................................................................ 91
3.4.3. Доступ к настройкам из программного кода .................................................................. 94
3.4.4. Создание своих настроек ................................................................................................. 95
3.5. Базовые инструменты отладки .............................................................................................. 96
3.5.1. Отладочный веб-сервер .................................................................................................... 96
3.5.2. Вывод сообщений об ошибках ........................................................................................ 97
Глава 4. Миграции и сидеры .......................................................................................................... 99
4.1. Миграции ................................................................................................................................. 99
4.1.1. Создание миграций ......................................................................................................... 100
4.1.2. Класс миграции ............................................................................................................... 100
4.1.3. Создание таблиц ............................................................................................................. 101
4.1.3.1. Создание полей ...................................................................................................... 101
4.1.3.2. Реализация «мягкого» удаления записей в таблицах ......................................... 105
4.1.3.3. Указание дополнительных параметров полей .................................................... 105
4.1.3.4. Создание индексов ................................................................................................ 107
4.1.3.5. Создание полей внешнего ключа ......................................................................... 108
4.1.3.6. Задание дополнительных параметров таблиц ..................................................... 111
4.1.4. Правка и удаление таблиц .............................................................................................. 111
4.1.4.1. Правка и удаление полей ...................................................................................... 111
4.1.4.2. Переименование и удаление индексов ................................................................ 113
4.1.4.3. Удаление полей внешнего ключа и управление соблюдением
ссылочной целостности ..................................................................................................... 113
4.1.4.4. Переименование и удаление таблиц .................................................................... 114
4.1.5. Проверка существования таблиц и полей ..................................................................... 114
4.1.6. Указание базы данных, с которой будут работать миграции ..................................... 115
4.1.7. Обработка миграций ....................................................................................................... 115
4.1.7.1. Применение миграций .......................................................................................... 115
4.1.7.2. Откат миграций, обновление, сброс и очистка базы данных ..................................... 116
4.1.7.3. Создание журнала миграций и просмотр их состояния ............................................. 117
4.1.8. Дамп базы данных как альтернатива миграциям ......................................................... 118
4.2. Сидеры ................................................................................................................................... 118
4.2.1. Использование корневого сидера .................................................................................. 119
4.2.2. Использование подчиненных сидеров .......................................................................... 119
4.2.3. Выполнение сидеров ...................................................................................................... 120
Глава 5. Модели: базовые инструменты ...................................................................................... 121
5.1. Создание моделей ................................................................................................................. 121
5.2. Класс модели и соглашения по умолчанию ....................................................................... 122
5.3. Параметры модели................................................................................................................ 123
5.3.1. Параметры полей модели ............................................................................................... 123
5.3.2. Параметры обслуживаемой таблицы ............................................................................ 123
5.3.3. Параметры преобразования типов ................................................................................ 124
5.3.4. Реализация «мягкого» удаления записей в моделях .................................................... 127
5.4. Создание связей между моделями ....................................................................................... 127
5.4.1. Связь «один-со-многими» .............................................................................................. 127
5.4.2. Связь «один-с-одним из многих» .................................................................................. 129
5.4.3. Связь «один-с-одним» .................................................................................................... 131
5.4.4. Связь «многие-со-многими» .......................................................................................... 131
5.4.4.1. Использование связующих моделей ........................................................................... 135
5.4.5. Пометка записи первичной модели как исправленной при правке или удалении
связанных записей вторичной модели .................................................................................... 136
5.4.6. Сквозная связь «один-со-многими» .............................................................................. 136
5.4.7. Сквозная связь «один-с-одним» .................................................................................... 137
5.4.8. Записи-заглушки ............................................................................................................. 137
5.4.9. Замкнутая связь ............................................................................................................... 138
5.5. Методы моделей ................................................................................................................... 139
5.6. Преобразователи. Акцессоры и мутаторы .......................................................................... 139
5.6.1. Виртуальные поля ........................................................................................................... 141
5.6.2. Акцессоры и мутаторы в предыдущих версиях Laravel ...................................................... 141
Глава 6. Запись данных.......................................................................................................... 143
6.1. Добавление, правка и удаление записей с помощью моделей .......................................... 143
6.1.1. Добавление записей. Построитель запросов ................................................................ 143
6.1.2. Правка записей ................................................................................................................ 145
6.1.2.1. Правка значений отдельных полей ...................................................................... 146
6.1.2.2. Проверка, значения каких полей изменились ..................................................... 147
6.1.3. Удаление записей ........................................................................................................... 149
6.1.3.1. «Мягкое» удаление записей .................................................................................. 149
6.1.4. Работа со связанными записями .................................................................................... 150
6.1.4.1. Связи «один-со-многими» и «один-с-одним»: связывание
существующих записей ...................................................................................................... 150
6.1.4.2. Связи «один-со-многими» и «один-с-одним»: добавление и правка
связанных записей .............................................................................................................. 151
6.1.4.3. Связь «один-с-одним из многих» ............................................................................... 152
6.1.4.4. Связь «многие-со-многими»: связывание записей ........................................................ 153
6.1.4.5. Связь «многие-со-многими»: добавление и правка связанных записей .......................... 155
6.1.5. Копирование записей ..................................................................................................... 156
6.2. Массовые добавление, правка и удаление записей ............................................................ 156
6.2.1. Массовое добавление записей ....................................................................................... 156
6.2.2. Массовая правка записей ............................................................................................... 158
6.2.3. Массовое удаление записей ........................................................................................... 159
6.2.4. Использование фасада DB для записи данных ............................................................. 159
Глава 7. Выборка данных ......................................................................................................... 161
7.1. Извлечение значений из полей записи ................................................................................ 161
7.2. Доступ к связанным записям ............................................................................................... 161
7.2.1. Связь «один-со-многими»: доступ к связанным записям ............................................ 161
7.2.2. Связь «один-с-одним из многих»: доступ к связанным записям ................................ 162
7.2.3. Связь «один-с-одним»: доступ к связанным записям .................................................. 163
7.2.4. Связь «многие-со-многими»: доступ к связанным записям ........................................ 163
7.3. Выборка записей: базовые средства ................................................................................... 164
7.3.1. Выборка всех записей .................................................................................................... 164
7.3.2. Извлечение первой записи ............................................................................................. 164
7.3.3. Поиск записей ................................................................................................................. 165
7.3.4. Фильтрация записей ....................................................................................................... 167
7.3.4.1. Фильтрация записей по значениям полей типа JSON ....................................................... 172
7.3.4.2. Фильтрация по полнотекстовому индексу ........................................................................ 173
7.3.5. Сортировка записей ........................................................................................................ 174
7.3.6. Выборка указанного количества записей ..................................................................... 175
7.3.7. Выборка уникальных записей ....................................................................................... 175
7.3.8. Задание параметров запросов на основании выполнения указанного условия ................... 176
7.3.9. Смена типа выдаваемых значений ................................................................................ 176
7.3.10. Выполнение запроса и получение результата ............................................................ 176
7.3.11. Проверка наличия записей в полученном результате................................................ 177
7.3.12. Объединение результатов от разных запросов .......................................................... 177
7.4. Выборка связанных записей ................................................................................................ 178
7.5. Выборка записей: расширенные средства .......................................................................... 182
7.5.1. Указание выбираемых полей ......................................................................................... 182
7.5.2. Вставка фрагментов SQL-кода в запрос ....................................................................... 183
7.5.3. Связывание таблиц ......................................................................................................... 183
7.5.4. Использование вложенных запросов ............................................................................ 186
7.5.5. Использование фасада DB для выборки данных ......................................................... 189
7.6. Агрегатные вычисления ....................................................................................................... 189
7.6.1. Агрегатные вычисления по всем записям .................................................................... 189
7.6.2. Агрегатные вычисления по группам записей ............................................................... 190
7.6.3. Агрегатные вычисления по связанным записям .......................................................... 192
7.7. Извлечение «мягко» удаленных записей ............................................................................ 194
7.8. Сравнение записей ................................................................................................................ 195
7.9. Получение значения заданного поля................................................................................... 195
7.10. Повторное считывание записей ......................................................................................... 196
Глава 8. Маршрутизация ........................................................................................................... 197
8.1. Настройки маршрутизатора ................................................................................................. 197
8.2. Списки маршрутов................................................................................................................ 198
8.3. Создание простых маршрутов ............................................................................................. 198
8.3.1. Специализированные маршруты ................................................................................... 199
8.3.2. Резервный маршрут ........................................................................................................ 200
8.4. Именованные маршруты ...................................................................................................... 200
8.5. URL-параметры и параметризованные маршруты ............................................................ 201
8.5.1. Указание правил для значений URL-параметров ........................................................ 202
8.5.2. Внедрение моделей......................................................................................................... 203
8.5.2.1. Неявное внедрение моделей ................................................................................. 203
8.5.2.2. Явное внедрение моделей ..................................................................................... 205
8.5.3. Внедрение перечислений ............................................................................................... 207
8.5.4. Значения по умолчанию для URL-параметров ............................................................ 207
8.6. Дополнительные параметры маршрутов ............................................................................ 209
8.7. Группы маршрутов ............................................................................................................... 210
8.8. Маршруты на ресурсные контроллеры ............................................................................... 211
8.8.1. Маршруты на подчиненные ресурсные контроллеры ................................................. 213
8.8.2. Дополнительные параметры маршрутов на ресурсные контроллеры ....................... 213
8.9. Как Laravel обрабатывает списки маршрутов? .................................................................. 215
8.10. Вывод списка созданных маршрутов ................................................................................ 215
Глава 9. Контроллеры и действия. Обработка запросов и генерирование
ответов ........................................................................................................................... 217
9.1. Разновидности контроллеров и особенности работы с ними ........................................... 217
9.1.1. Контроллеры-функции ................................................................................................... 217
9.1.2. Контроллеры-классы ...................................................................................................... 218
9.1.2.1. Ресурсные контроллеры ....................................................................................... 218
9.1.2.2. Контроллеры одного действия ............................................................................. 220
9.1.2.3. Создание контроллеров-классов .......................................................................... 220
9.1.2.4. Связывание посредников с контроллерами ........................................................ 221
9.2. Внедрение зависимостей в контроллерах ........................................................................... 221
9.3. Обработка клиентских запросов .......................................................................................... 222
9.3.1. Извлечение данных, отправленных посетителем ........................................................ 223
9.3.2. Как узнать, присутствует ли в запросе нужное значение? .......................................... 225
9.3.3. Добавление в запрос произвольных значений ............................................................. 226
9.3.4. Получение сведений о запросе ...................................................................................... 227
9.4. Генерирование интернет-адресов ........................................................................................ 231
9.5. Генерирование серверных ответов ...................................................................................... 233
9.5.1. Ответы на основе шаблонов .......................................................................................... 233
9.5.1.1. Ответы в виде объектов класса View ................................................................... 233
9.5.1.2. Ответы в виде объектов класса Response ............................................................ 234
9.5.2. Специальные ответы ...................................................................................................... 235
9.5.2.1. Отправка файла для отображения в веб-обозревателе ....................................... 235
9.5.2.2. Отправка файла для сохранения на локальном диске ........................................ 235
9.5.2.3. Отправка данных в форматах JSON и JSONP..................................................... 236
9.5.2.4. Текстовый ответ .................................................................................................... 237
9.5.2.5. «Пустой» ответ ...................................................................................................... 237
9.5.3. Дополнительные параметры ответов ............................................................................ 237
9.5.4. Перенаправления ............................................................................................................ 238
9.6. Обработка ошибок ................................................................................................................ 240
Глава 10. Обработка введенных данных. Валидация .................................................................... 242
10.1. Извлечение введенных данных .......................................................................................... 242
10.2. Валидация данных .............................................................................................................. 244
10.2.1. Валидаторы ................................................................................................................... 244
10.2.1.1. Быстрая валидация с неявным созданием валидатора ..................................... 244
10.2.1.2. Валидация с явным созданием валидатора ....................................................... 246
10.2.2. Формальные запросы ................................................................................................... 249
10.2.3. Правила валидации и написание их наборов ............................................................. 252
10.2.3.1. Валидация паролей .............................................................................................. 261
10.2.3.2. Валидация массивов элементов управления ..................................................... 262
10.2.4. Написание сообщений об ошибках ввода .................................................................. 264
10.2.4.1. Подстановки наименований ............................................................................... 265
10.2.5. Извлечение ранее введенных данных ......................................................................... 265
10.2.6. Извлечение сообщений об ошибках ввода ................................................................. 266
10.2.7. Создание своих правил валидации .............................................................................. 267
10.2.7.1. Правила-функции ................................................................................................ 267
10.2.7.2. Правила-расширения .......................................................................................... 267
10.2.7.3. Правила-объекты ................................................................................................. 268
10.3. Предварительная обработка введенных данных .............................................................. 270
10.4. Вывод веб-страниц добавления, правки и удаления записей .......................................... 272
Глава 11. Шаблоны: базовые инструменты ................................................................................ 274
11.1. Настройки шаблонизатора ................................................................................................. 274
11.2. Директивы шаблонизатора ................................................................................................ 275
11.2.1. Директивы вывода данных .......................................................................................... 275
11.2.1.1. Вывод данных в формате JSON .................................................................................. 276
11.2.2. Управляющие директивы ............................................................................................. 276
11.2.2.1. Условные директивы и директивы выбора .................................................................. 276
11.2.2.2. Директивы циклов .................................................................................................... 278
11.2.3. Прочие директивы ........................................................................................................ 280
11.2.4. Запрет на обработку директив ..................................................................................... 281
11.3. Вывод веб-форм и элементов управления ........................................................................ 282
11.3.1. Вывод веб-форм ............................................................................................................ 282
11.3.2. Вывод элементов управления ...................................................................................... 283
11.3.3. Вывод сообщений об ошибках ввода .......................................................................... 284
11.4. Наследование шаблонов..................................................................................................... 285
11.5. Стеки .................................................................................................................................... 288
11.6. Включаемые шаблоны ....................................................................................................... 290
11.6.1. Псевдонимы включаемых шаблонов .......................................................................... 291
11.7. Компоненты ........................................................................................................................ 291
11.7.1. Полнофункциональные компоненты .......................................................................... 292
11.7.1.1. Создание полнофункциональных компонентов ............................................... 292
11.7.1.2. Передача данных в компоненты. Атрибуты компонентов .............................. 295
11.7.1.3. Передача HTML-содержимого в компоненты. Слоты ..................................... 298
11.7.2. Упрощенные компоненты ............................................................................................ 299
11.7.2.1. Бесшаблонные компоненты ............................................................................... 299
11.7.2.2. Бесклассовые компоненты ................................................................................. 300
11.7.3. Динамический компонент ............................................................................................ 301
11.8. Передача данных в шаблоны: другие способы ................................................................ 302
11.8.1. Разделяемые значения .................................................................................................. 302
11.8.2. Составители значений .................................................................................................. 303
11.8.3. Создатели значений ...................................................................................................... 304
11.9. Обработка статических файлов ......................................................................................... 305
Глава 12. Пагинация ............................................................................................................... 307
12.1. Автоматическое создание пагинатора .............................................................................. 307
12.2. Дополнительные параметры пагинатора .......................................................................... 310
12.3. Настройка отображения пагинатора ................................................................................. 311
12.4. Создание пагинатора вручную .......................................................................................... 314
Глава 13. Разграничение доступа: базовые инструменты ......................................................... 316
13.1. Настройки подсистемы разграничения доступа .............................................................. 316
13.2. Создание недостающих модулей, реализующих разграничение доступа ...................... 318
13.3. Маршруты, ведущие на контроллеры разграничения доступа ....................................... 319
13.4. Служебные таблицы и модель ........................................................................................... 321
13.5. Регистрация новых пользователей .................................................................................... 322
13.6. Вход на веб-сайт ................................................................................................................. 325
13.7. Раздел пользователя ........................................................................................................... 327
13.8. Собственно разграничение доступа .................................................................................. 327
13.8.1. Разграничение доступа: простейшие инструменты ................................................... 327
13.8.1.1. Разграничение доступа с помощью посредников ............................................. 327
13.8.1.2. Разграничение доступа в шаблонах ................................................................... 328
13.8.2. Гейты ............................................................................................................................. 329
13.8.2.1. Написание гейтов ................................................................................................ 329
13.8.2.2. Разграничение доступа посредством гейтов ..................................................... 330
13.8.2.3. Перехватчики ....................................................................................................... 332
13.8.2.4. Гейты с развернутыми ответами ........................................................................ 333
13.8.2.5. Простые гейты ..................................................................................................... 334
13.8.3. Политики ....................................................................................................................... 335
13.8.3.1. Создание и регистрация политик ....................................................................... 335
13.8.3.2. Разграничение доступа посредством политик .................................................. 338
13.8.3.3. Разграничение доступа в ресурсных контроллерах.......................................... 341
13.8.4. Разграничение доступа с помощью формальных запросов ...................................... 341
13.9. Получение сведений о текущем пользователе ................................................................. 342
13.10. Подтверждение пароля ..................................................................................................... 343
13.11. Выход с веб-сайта ............................................................................................................. 344
13.12. Проверка существования адреса электронной почты ................................................... 344
13.13. Сброс пароля ..................................................................................................................... 347
13.13.1. Отправка электронного письма с гиперссылкой сброса пароля ............................. 347
13.13.2. Собственно сброс пароля ........................................................................................... 348
13.13.3. Удаление устаревших жетонов сброса пароля ......................................................... 349
Глава 14. Обработка строк, массивов и функции-хелперы ......................................................... 350
14.1. Обработка строк.................................................................................................................. 350
14.1.1. Составление строк ........................................................................................................ 351
14.1.2. Сравнение строк и получение сведений о строках .................................................... 352
14.1.3. Преобразование строк .................................................................................................. 353
14.1.4. Извлечение фрагментов строк ..................................................................................... 358
14.1.5. Поиск и замена в строках ............................................................................................. 360
14.1.6. Обработка путей к файлам ........................................................................................... 364
14.1.7. Прочие инструменты для обработки строк ................................................................ 365
14.2. Обработка массивов ........................................................................................................... 367
14.2.1. Добавление, правка и удаление элементов массивов ................................................ 367
14.2.2. Извлечение элементов массива ................................................................................... 369
14.2.3. Проверка существования элементов массивов .......................................................... 371
14.2.4. Получение сведений о массиве ................................................................................... 372
14.2.5. Упорядочивание элементов массивов ........................................................................ 373
14.2.6. Прочие инструменты для обработки массивов .......................................................... 373
14.3. Функции-хелперы ............................................................................................................... 375
14.3.1. Функции, выдающие пути к ключевым папкам ......................................................... 376
14.3.2. Служебные функции ..................................................................................................... 376
Глава 15. Коллекции Laravel ...................................................................................................... 380
15.1. Обычные коллекции ........................................................................................................... 380
15.1.1. Создание обычных коллекций ..................................................................................... 380
15.1.2. Добавление, правка и удаление элементов коллекции .............................................. 381
15.1.3. Извлечение отдельных элементов и частей коллекции ............................................. 383
15.1.4. Получение сведений об элементах коллекции ........................................................... 389
15.1.5. Перебор элементов коллекции .................................................................................... 390
15.1.6. Поиск и фильтрация элементов коллекции ................................................................ 391
15.1.7. Упорядочивание элементов коллекции ...................................................................... 396
15.1.8. Группировка элементов коллекций ............................................................................. 398
15.1.9. Агрегатные вычисления в коллекциях ........................................................................ 399
15.1.10. Получение сведений о коллекции ............................................................................. 400
15.1.11. Прочие инструменты для обработки коллекций ........................................................ 401
15.2. Коллекции, заполняемые по запросу ................................................................................ 406
15.2.1. Создание коллекций, заполняемых по запросу .......................................................... 406
15.2.2. Работа с коллекциями, заполняемыми по запросу .................................................... 406
ЧАСТЬ III. РАСШИРЕННЫЕ ИНСТРУМЕНТЫ
И ДОПОЛНИТЕЛЬНЫЕ БИБЛИОТЕКИ ..................................................................................... 409
Глава 16. Базы данных и модели: расширенные инструменты ................................................. 411
16.1. Отложенная и немедленная выборка связанных записей................................................ 411
16.2. Выборка наборов записей по частям ................................................................................ 413
16.3. Фильтрующие связи «многие-со-многими» ..................................................................... 415
16.4. Полиморфные связи ........................................................................................................... 417
16.4.1. Создание поля внешнего ключа для полиморфной связи ......................................... 417
16.4.2. Создание полиморфных связей ................................................................................... 418
16.4.2.1. Полиморфная связь «один-со-многими» ........................................................... 418
16.4.2.2. Полиморфная связь «один-с-одним из многих» ............................................... 420
16.4.2.3. Полиморфная связь «один-с-одним» ................................................................. 420
16.4.2.4. Полиморфная связь «многие-со-многими» ....................................................... 421
16.4.3. Работа с записями, связанными полиморфной связью ............................................. 423
16.4.4. Указание своих типов связываемых записей ............................................................. 424
16.5. Пределы ............................................................................................................................... 426
16.5.1. Локальные пределы ...................................................................................................... 426
16.5.2. Глобальные пределы .................................................................................................... 427
16.6. Выполнение «сырых» SQL-запросов ................................................................................ 429
16.6.1. «Сырые» вызовы функций СУБД ................................................................................ 429
16.6.2. «Сырые» команды SQL ................................................................................................ 429
16.5.3. «Сырые» SQL-запросы целиком.................................................................................. 431
16.7. Блокировка записей ............................................................................................................ 432
16.8. Управление транзакциями ................................................................................................. 432
16.8.1. Автоматическое управление транзакциями ............................................................... 433
16.8.2. Ручное управление транзакциями ............................................................................... 433
16.9. Очистка моделей ................................................................................................................. 433
Глава 17. Шаблоны: расширенные инструменты
и дополнительные библиотеки ................................................................................................... 436
17.1. Библиотека Laravel HTML: создание веб-форм и элементов управления ............................... 436
17.1.1. Создание элементов управления ................................................................................. 436
17.1.2. Создание веб-форм ....................................................................................................... 439
17.1.3. Создание гиперссылок ................................................................................................. 441
17.2. Библиотека genert/bbcode: поддержка BBCode ................................................................ 443
17.2.1. Использование библиотеки genert/bbcode .................................................................. 443
17.2.2. Поддерживаемые BBCode-теги ................................................................................... 444
17.2.3. Добавление своих BBCode-тегов ................................................................................ 445
17.3. Библиотека Captcha for Laravel: поддержка CAPTCHA .................................................. 446
17.3.1. Настройка Captcha for Laravel ..................................................................................... 447
17.3.2. Использование Captcha for Laravel .............................................................................. 448
17.4. Написание своих директив шаблонизатора ...................................................................... 449
17.4.1. Написание простейших директив ................................................................................ 450
17.4.1.1. Форматировщики объектов ................................................................................ 451
17.4.2. Написание условных директив .................................................................................... 451
17.5. Пакет Laravel Mix ............................................................................................................... 452
17.5.1. Исходные файлы и их расположение .......................................................................... 453
17.5.2. Конфигурирование Laravel Mix ................................................................................... 453
17.5.2.1. Обработка таблиц стилей ................................................................................... 454
17.5.2.2. Обработка веб-сценариев ................................................................................... 455
17.5.2.3. Копирование файлов и папок ............................................................................. 456
17.5.2.4. Мечение файлов .................................................................................................. 457
17.5.3. Запуск Laravel Mix ........................................................................................................ 458
17.6. Использование Bootstrap .................................................................................................... 459
Глава 18. Обработка выгруженных файлов .............................................................................. 461
18.1. Настройки подсистемы обработки выгруженных файлов .............................................. 461
18.2. Создание символических ссылок на папки с выгруженными файлами ......................... 464
18.3. Хранение выгруженных файлов ........................................................................................ 465
18.4. Базовые средства для обработки выгруженных файлов .................................................. 465
18.4.1. Валидаторы для выгруженных файлов ....................................................................... 465
18.4.2. Получение выгруженных файлов ................................................................................ 467
18.4.3. Получение сведений о выгруженных файлах ............................................................. 467
18.4.4. Сохранение выгруженных файлов .............................................................................. 468
18.4.5. Выдача выгруженных файлов посетителям ............................................................... 470
18.4.5.1. Вывод выгруженных файлов .............................................................................. 470
18.4.5.2. Реализация загрузки выгруженного файла ....................................................... 471
18.4.6. Удаление выгруженных файлов .................................................................................. 472
18.5. Расширенные средства для работы с выгруженными файлами ...................................... 472
18.5.1. Чтение из файлов и запись в них ................................................................................. 473
18.5.2. Получение сведений о файле ....................................................................................... 473
18.5.3. Прочие манипуляции с файлами ................................................................................. 474
18.5.4. Работа с папками .......................................................................................................... 475
18.6. Библиотека bkwld/croppa: вывод миниатюр ..................................................................... 475
18.6.1. Настройки библиотеки bkwld/croppa .......................................................................... 476
18.6.2. Использование библиотеки bkwld/croppa ................................................................... 478
18.6.3. Удаление миниатюр ..................................................................................................... 481
Глава 19. Безопасность и разграничение доступа:
расширенные инструменты и дополнительная библиотека ...................................................... 482
19.1. Низкоуровневые средства для работы с пользователями ............................................... 482
19.1.1. Низкоуровневые средства для регистрации пользователей ...................................... 482
19.1.2. Низкоуровневые средства для входа ........................................................................... 483
19.1.3. Низкоуровневые средства для выполнения выхода .................................................. 485
19.1.4. Низкоуровневые средства для подтверждения пароля .............................................. 485
19.1.5. Низкоуровневые средства для проверки существования адреса
электронной почты ................................................................................................................... 486
19.1.6. Низкоуровневые средства для сброса пароля ............................................................ 487
19.1.7. Корректная правка пароля ........................................................................................... 490
19.2. Библиотека Laravel Socialite: вход через сторонние интернет-службы ......................... 491
19.2.1. Создание приложения «ВКонтакте» ........................................................................... 491
19.2.2. Установка и настройка Laravel Socialite ..................................................................... 493
19.2.3. Использование Laravel Socialite .................................................................................. 494
19.2.3.1. Действие первое: обращение к сторонней интернет-службе ........................... 495
19.2.3.2. Действие второе: поиск (регистрация) пользователя и вход ........................... 495
19.2.3.3. Завершающие операции: создание маршрутов и гиперссылки входа ............ 496
19.3. Защита от атак CSRF .......................................................................................................... 497
19.4. Ограничители частоты запросов ....................................................................................... 498
19.4.1. Простейшие ограничители частоты запросов ............................................................ 498
19.4.2. Именованные ограничители частоты запросов.......................................................... 499
19.4.3. Низкоуровневые ограничители частоты запросов ..................................................... 501
Глава 20. Внедрение зависимостей, провайдеры и фасады ...................................................... 504
20.1. Внедрение зависимостей .................................................................................................... 504
20.1.1. Простейшие случаи внедрения зависимостей ............................................................ 504
20.1.2. Управление внедрением зависимостей ....................................................................... 506
20.1.2.1. Простая регистрация классов и объектов ......................................................... 506
20.1.2.2. Подмена классов и реализации .......................................................................... 509
20.1.2.3. Гибкая подмена классов и реализации .............................................................. 510
20.1.2.4. Гибкая регистрация значений произвольного типа .......................................... 511
20.1.2.5. Переопределение регистрации ........................................................................... 512
20.1.2.6. Вызов методов и функций, в которых используется внедрение
зависимостей ...................................................................................................................... 512
20.1.2.7. Подмена методов ................................................................................................. 514
20.2. Провайдеры ......................................................................................................................... 515
20.2.1. Список провайдеров, используемых веб-сайтом ....................................................... 515
20.2.2. Создание своих провайдеров ....................................................................................... 517
20.3. Фасады ................................................................................................................................. 518
Глава 21. Посредники .................................................................................................................. 520
21.1. Посредники, используемые веб-сайтом ............................................................................ 520
21.1.1. Управление очередностью выполнения посредников ............................................... 523
21.1.2. Параметры посредников .............................................................................................. 523
21.2. Написание своих посредников .......................................................................................... 523
21.2.1. Как исполняется посредник? ....................................................................................... 523
21.2.2. Создание посредников ................................................................................................. 524
21.2.3. Посредники с завершающими действиями ................................................................ 526
Глава 22. События и их обработка .......................................................................................... 528
22.1. События-классы .................................................................................................................. 528
22.1.1. Обработка событий-классов: слушатели .................................................................... 528
22.1.1.1. Создание слушателей-классов ............................................................................ 528
22.1.1.2. Явная привязка слушателей-классов к событиям ............................................. 530
22.1.1.3. Автоматическая привязка слушателей-классов к событиям ........................... 531
22.1.1.4. Слушатели-функции ............................................................................................ 532
22.1.1.5. Просмотр списков слушателей, привязанных к событиям-классам ............... 532
22.1.2. Обработка событий-классов: подписчики .................................................................. 533
22.1.3. События-классы, поддерживаемые фреймворком ..................................................... 534
22.1.3.1. События подсистемы разграничения доступа .................................................. 534
22.1.3.2. События других подсистем ................................................................................ 536
22.1.4. Создание и использование своих событий-классов ................................................... 536
22.1.4.1. Создание событий-классов ................................................................................. 536
22.1.4.2. Создание событий-классов и их слушателей .................................................... 537
22.1.4.3. Генерирование своих событий ........................................................................... 538
22.2. События-строки .................................................................................................................. 538
22.2.1. Привязка обработчиков к событиям-строкам ............................................................ 539
22.2.2. Генерирование событий-строк .................................................................................... 539
22.3. События моделей ................................................................................................................ 540
22.3.1. Обработка событий моделей ....................................................................................... 540
22.3.1.1. Обработка событий моделей посредством слушателей-функций ................... 540
22.3.1.2. Связывание событий моделей с событиями-классами ..................................... 540
22.3.1.3. Использование обозревателей ............................................................................ 541
22.3.2. Список событий моделей ............................................................................................. 542
22.3.3. Временное отключение событий в моделях ............................................................... 543
Глава 23. Отправка электронной почты ................................................................................. 544
23.1. Настройки подсистемы отправки электронной почты .................................................... 544
23.2. Создание электронных писем ............................................................................................ 547
23.2.1. Создание классов электронных писем ........................................................................ 547
23.2.2. Генерирование электронных писем ............................................................................ 548
23.2.3. Написание шаблонов электронных писем .................................................................. 551
23.2.4. Написание электронных писем на языке Markdown .................................................. 552
23.2.4.1. Классы писем, написанных на Markdown ......................................................... 552
23.2.4.2. Написание шаблонов писем на Markdown ........................................................ 552
23.2.4.3. Управление генерированием писем, написанных на Markdown ................................. 553
23.3. Отправка электронных писем ............................................................................................ 555
23.4. Предварительный просмотр электронных писем ............................................................ 556
23.5. События, генерируемые при отправке электронных писем ............................................ 557
23.6. Доступ к письмам, отправленным посредством службы array ...................................... 557
Глава 24. Оповещения ................................................................................................ 558
24.1. Создание оповещений ........................................................................................................ 558
24.2. Написание оповещений ...................................................................................................... 560
24.2.1. Почтовые оповещения ................................................................................................. 560
24.2.1.1. Генерирование простых почтовых оповещений ............................................... 560
24.2.1.2. Генерирование почтовых оповещений на основе текстовых
и HTML-шаблонов ............................................................................................................. 562
24.2.1.3. Генерирование почтовых оповещений на основе Markdown-шаблонов ........ 562
24.2.1.4. Указание адреса получателя ............................................................................... 563
24.2.2. SMS-оповещения .......................................................................................................... 563
24.2.2.1. Подготовительные действия и настройка службы SMS-оповещений ............ 563
24.2.2.2. Генерирование произвольных SMS-оповещений ............................................. 564
24.2.2.3. Указание телефона получателя .......................................................................... 565
24.2.3. Slack-оповещения ......................................................................................................... 565
24.2.3.1. Генерирование Slack-оповещений ..................................................................... 565
24.2.3.2. Добавление вложений ......................................................................................... 566
24.2.3.3. Указание интернет-адреса получателя .............................................................. 568
24.2.4. Табличные оповещения................................................................................................ 568
24.2.4.1. Создание таблицы для хранения табличных оповещений ............................... 568
24.2.4.2. Генерирование табличных оповещений ............................................................ 569
24.2.5. Оповещения, отправляемые по нескольким каналам ................................................ 570
24.3. Отправка оповещений ........................................................................................................ 570
24.3.1. Отправка оповещений произвольным получателям .................................................. 571
24.4. Предварительный просмотр почтовых оповещений ....................................................... 571
24.5. Работа с табличными оповещениями ................................................................................ 571
24.6. События, генерируемые при отправке оповещений ........................................................ 573
Глава 25. Очереди и отложенные задания ................................................................................ 574
25.1. Настройка подсистемы очередей ...................................................................................... 574
25.1.1. Настройка самих очередей........................................................................................... 574
25.1.2. Подготовка таблиц для хранения отложенных заданий ............................................ 577
25.1.3. Настройка баз данных Redis ........................................................................................ 578
25.2. Отложенные задания-классы ............................................................................................. 579
25.2.1. Создание отложенных заданий-классов ..................................................................... 579
25.2.1.1. Создание отложенных заданий-классов: базовые инструменты ..................... 579
25.2.1.2. Параметры отложенных заданий-классов ......................................................... 581
25.2.1.3. Обработка ошибок в отложенных заданиях-классах ....................................... 583
25.2.1.4. Взаимодействие с очередью ............................................................................... 584
25.2.1.5. Уникальные задания ........................................................................................... 584
25.2.1.6. Неотложные задания ........................................................................................... 586
25.2.2. Запуск отложенных заданий-классов .......................................................................... 586
25.3. Отложенные задания-функции .......................................................................................... 587
25.4. Цепочки отложенных заданий ........................................................................................... 588
25.5. Специфические разновидности отложенных заданий ..................................................... 589
25.5.1. Отложенные слушатели событий ................................................................................ 589
25.5.2. Отложенные электронные письма............................................................................... 591
25.5.3. Отложенные оповещения ............................................................................................. 593
25.6. Выполнение отложенных заданий .................................................................................... 594
25.6.1. Запуск обработчика отложенных заданий .................................................................. 594
25.6.2. Работа с проваленными заданиями ............................................................................. 596
25.6.3. Очистка очереди заданий ............................................................................................. 597
25.7. Пакеты отложенных заданий ............................................................................................. 597
25.7.1. Подготовка таблицы для хранения пакетов отложенных заданий ........................... 598
25.7.2. Создание отложенных заданий, пригодных для использования в пакетах .............. 598
25.7.3. Создание и запуск пакетов отложенных заданий ...................................................... 598
25.7.4. Взаимодействие с выполняющимся пакетом ............................................................. 600
25.7.5. Получение сведений о пакете ...................................................................................... 601
25.7.6. Выполнение пакетов отложенных заданий ................................................................ 602
25.8. Посредники отложенных заданий ..................................................................................... 603
25.8.1. Ограничение частоты выполнения заданий ............................................................... 603
25.8.2. Предотвращение наложения заданий ......................................................................... 604
25.8.3. Отложенное выполнение ошибочных заданий .......................................................... 605
25.9. События, генерируемые при выполнении отложенных заданий .................................... 607
Глава 26. Cookie, сессии, всплывающие сообщения и криптография ........................................... 609
26.1. Cookie .................................................................................................................................. 609
26.1.1. Настройки cookie .......................................................................................................... 609
26.1.2. Создание cookie ............................................................................................................ 609
26.1.3. Считывание cookie ........................................................................................................ 611
26.1.4. Удаление cookie ............................................................................................................ 612
26.2. Сессии .................................................................................................................................. 612
26.2.1. Подготовка к работе с сессиями .................................................................................. 613
26.2.1.1. Настройки сессий ................................................................................................ 613
26.2.1.2. Создание таблицы для хранения сессий ............................................................ 614
26.2.2. Работа с сессиями ......................................................................................................... 615
26.2.2.1. Запись данных в сессию и их изменение........................................................... 615
26.2.2.2. Чтение данных из сессии .................................................................................... 616
26.2.2.3. Удаление данных из сессии ................................................................................ 616
26.2.2.4. Блокировка сессий .............................................................................................. 617
26.2.2.5. Предотвращение сетевых атак на сессии .......................................................... 617
26.3. Всплывающие сообщения .................................................................................................. 618
26.4. Криптография...................................................................................................................... 619
26.4.1. Шифрование данных .................................................................................................... 619
26.4.2. Хеширование и сверка паролей ................................................................................... 620
26.4.2.1. Настройки хеширования ..................................................................................... 620
26.4.2.2. Хеширование и сверка ........................................................................................ 620
26.4.3. Генерирование подписанных интернет-адресов ........................................................ 621
Глава 27. Планировщик заданий ............................................................................................. 624
27.1. Создание заданий планировщика ...................................................................................... 624
27.1.1. Как пишутся задания планировщика? ......................................................................... 624
27.1.2. Параметры заданий планировщика ............................................................................. 626
27.1.2.1. Расписание запуска заданий ............................................................................... 626
27.1.2.2. Дополнительные параметры заданий ................................................................ 628
27.1.3. Обработка вывода, генерируемого заданиями планировщика ................................. 630
27.1.4. Исполнение указанного кода перед выполнением задания и после него ................ 631
27.1.5. Отправка сигналов по указанным интернет-адресам ................................................ 631
27.2. Работа с заданиями планировщика ................................................................................... 632
27.2.1. Запуск планировщика заданий .................................................................................... 632
27.2.1.1. Запуск с использованием штатного планировщика
операционной системы ...................................................................................................... 632
27.2.1.2. Запуск в независимом режиме ........................................................................... 634
27.2.2. Вывод списка заданий планировщика ........................................................................ 634
27.2.3. Удаление распределенных блокировок ...................................................................... 635
27.3. События, генерируемые при выполнении заданий планировщика ................................ 635
Глава 28. Локализация ........................................................................................................... 636
28.1. Быстрая локализация .......................................................................................................... 636
28.2. Локализация с применением обозначений ....................................................................... 637
28.2.1. Подстановка параметров в переведенные строки ...................................................... 639
28.2.2. Вывод существительных во множественном числе .................................................. 639
28.2.3. Локализация сообщений об ошибках ввода ............................................................... 641
28.3. Реализация переключения на другой язык ....................................................................... 642
28.4. Библиотека Laravel Lang: локализация на множество языков ........................................ 644
Глава 29. Кеширование .......................................................................................................... 646
29.1. Кеширование на стороне сервера ...................................................................................... 646
29.1.1. Подготовка подсистемы кеширования ....................................................................... 646
29.1.1.1. Настройка подсистемы кеширования ................................................................ 646
29.1.1.2. Создание таблицы для хранения кеша .............................................................. 648
29.1.2. Работа с кешем стороны сервера ................................................................................ 649
29.1.2.1. Сохранение данных в кеше и их правка ............................................................ 649
29.1.2.2. Чтение данных из кеша ....................................................................................... 650
29.1.2.3. Удаление данных из кеша................................................................................... 651
29.1.3. Распределенные блокировки ....................................................................................... 652
29.1.3.1. Немедленные распределенные блокировки ...................................................... 652
29.1.3.2. Распределенные блокировки с ожиданием ....................................................... 654
29.1.3.3. Передача распределенных блокировок между процессами ....................................... 655
29.1.4. События, генерируемые кешем ................................................................................... 656
29.2. Кеширование на стороне клиента ..................................................................................... 657
Глава 30. Разработка веб-служб ............................................................................................ 658
30.1. Бэкенды: преобразование данных — базовые инструменты .......................................... 658
30.1.1. Выдача данных в формате JSON ................................................................................. 659
30.1.2. Задание структуры генерируемых JSON-объектов .................................................... 661
30.2. Бэкенды: преобразование данных — ресурсы и ресурсные коллекции ......................... 664
30.2.1. Ресурсы .......................................................................................................................... 664
30.2.1.1. Написание ресурсов ............................................................................................ 664
30.2.1.2. Задание структуры JSON-объектов, генерируемых ресурсами ................................. 665
30.2.1.3. Дополнительные параметры ресурсов .............................................................. 668
30.2.1.4. Использование ресурсов ..................................................................................... 669
30.2.2. Ресурсные коллекции ................................................................................................... 670
30.2.2.1. Быстрое JSON-кодирование коллекции записей .............................................. 670
30.2.2.2. Написание ресурсных коллекций....................................................................... 670
30.2.2.3. Пагинация в ресурсных коллекциях .................................................................. 673
30.3. Бэкенды: обработка данных ............................................................................................... 674
30.3.1. Выдача записей ............................................................................................................. 674
30.3.2. Добавление, правка и удаление записей ..................................................................... 674
30.3.3. Совмещенная обработка данных ................................................................................. 676
30.4. Бэкенды: разграничение доступа....................................................................................... 676
30.5. Фронтенды: взаимодействие с бэкендами ........................................................................ 679
30.6. Фронтенды: использование React и Vue ........................................................................... 681
Глава 31. Вещание .................................................................................................................. 683
31.1. Бэкенд: подготовка подсистемы вещания ........................................................................ 683
31.1.1. Настройка подсистемы вещания ................................................................................. 683
31.1.2. Подготовка проекта к реализации вещания ............................................................... 685
31.1.3. Установка и настройка Laravel Websockets ................................................................ 685
31.2. Бэкенд: вещаемые события и оповещения ....................................................................... 687
31.2.1. Вещаемые события ....................................................................................................... 687
31.2.1.1. Вещаемые события моделей ........................................................................................ 690
31.2.2. Вещаемые оповещения ................................................................................................ 693
31.3. Бэкенд: каналы вещания .................................................................................................... 695
31.3.1. Общедоступные каналы вещания ................................................................................ 695
31.3.2. Закрытые каналы вещания ........................................................................................... 695
31.3.3. Каналы присутствия ..................................................................................................... 697
31.4. Фронтенд: прослушивание каналов вещания ................................................................... 699
31.4.1. Использование Laravel Echo ........................................................................................ 699
31.4.2. Прослушивание общедоступных каналов .................................................................. 701
31.4.3. Прослушивание закрытых каналов ............................................................................. 703
31.4.4. Прослушивание каналов присутствия......................................................................... 703
31.4.5. Отправка произвольных уведомлений ........................................................................ 704
31.5. Запуск вещания ................................................................................................................... 705
Глава 32. Команды утилиты artisan ......................................................................................... 706
32.1. Получение сведений о командах утилиты artisan ............................................................ 706
32.2. Команды-классы ................................................................................................................. 707
32.2.1. Создание команд-классов ............................................................................................ 707
32.2.2. Описание формата вызова команд .............................................................................. 709
32.2.3. Получение значений аргументов ................................................................................. 711
32.2.4. Получение данных от пользователя ............................................................................ 712
32.2.5. Вывод данных ............................................................................................................... 713
32.2.5.1. Вывод индикатора процесса ...................................................................................... 714
32.2.6. Вызов из команды других команд ............................................................................... 715
32.2.7. Регистрация команд-классов ....................................................................................... 716
32.3. Команды-функции .............................................................................................................. 716
32.4. Программный вызов команд.............................................................................................. 718
32.5. События утилиты artisan .................................................................................................... 718
Глава 33. Обработка ошибок .................................................................................................... 719
33.1. Настройка веб-страниц с сообщениями об ошибках ....................................................... 719
33.2. Создание и использование своих исключений ................................................................. 720
33.2.1. Создание своих исключений ........................................................................................ 720
33.2.2. Возбуждение своих исключений ................................................................................. 722
33.3. Настройка обработки существующих исключений ......................................................... 723
33.4. Подавление исключений .................................................................................................... 725
Глава 34. Журналирование и дополнительные средства отладки ................................................. 728
34.1. Подсистема журналирования............................................................................................. 728
34.1.1. Настройка подсистемы журналирования ........................................................................ 728
34.1.2. Занесение записей в журнал ........................................................................................ 731
34.1.2.1. Разделяемая дополнительная информация .................................................................. 732
34.1.3. Событие, генерируемое при занесении записи в журнал ................................................. 733
34.2. Дополнительные средства отладки ................................................................................... 733
Глава 35. Публикация веб-сайта .............................................................................................. 735
35.1. Подготовка веб-сайта к публикации ................................................................................. 735
35.1.1. Удаление ненужного кода и данных ........................................................................... 735
35.1.2. Настройка под платформу публикации ...................................................................... 736
35.1.3. Переключение в режим эксплуатации ........................................................................ 736
35.1.4. Задание списка доверенных прокси-серверов ............................................................ 736
35.1.5. Задание списка доверенных хостов............................................................................. 737
35.1.6. Компиляция шаблонов ................................................................................................. 738
35.1.7. Кеширование маршрутов ............................................................................................. 738
35.1.8. Кеширование настроек ................................................................................................. 739
35.1.9. Кеширование обработчиков событий ............................................................................ 739
35.1.10. Приведение таблиц стилей и веб-сценариев к виду,
оптимальному для публикации ................................................................................................ 740
35.2. Перенос веб-сайта на платформу для публикации........................................................... 740
35.3. Настройка веб-сервера и запуск сторонних программ .................................................... 741
35.4. Режим обслуживания.................................................................................................... 741
Заключение ........................................................................................................................ 744
Приложение. Описание электронного архива ........................................................................ 746
Предметный указатель ........................................................................................................ 747
[solely-soft.top].t190595.torrent
Torrent: Registered [ 2024-01-09 14:15 ] · C6CF0F91374A8FA350730A930D11962CBA8E8E99

12 KB

Status: checked
Completed: 5 times
Size: 8 MB
Rate: 
(Vote: 0)
Have thanked: 0  Thanks
Профессиональное программирование - Дронов В. А. - Laravel 9. Быстрая разработка веб-сайтов на PHP + код [2023, PDF, RUS] download torrent for free and without registration
[Profile] [PM]
Forum Topic Author Size
Programming (Библиотека программиста) - Одерски Мартин, Спун Лекс, Веннерс Билл, Соммерс Фрэнк - Scala. Профессиональное программирование, 5-е изд. [2022, PDF, RUS] Programmer 6 MB
Sample Libraries 10 000 профессиональных звуковых эффектов (2010) (WAV, MP3). Переиздание. Sound Effects Library. Sound Forge 4.35 GB
Programming 1С:Профессиональная разработка - Ажеронок В.А, Островерх А.В., Радченко М.Г., Хрусталева Е.Ю. - Разработка интерфейса прикладных решений на платформе "1С:Предприятие 8" [2018, PDF, RUS] Programmer 37 MB
Programs from Microsoft Alexander M., Kusleika R. / Александер М., Куслейка Р. - Excel 2019 Power Programming with VBA / Профессиональное программирование на VBA в Excel 2019 [2019, PDF, ENG] Download Windows 16 MB
Programming Althoff Cory / Алтхофф Кори - The Self-Taught Programmer: The Definitive Guide to Programming Professionally / Программист-самоучка: Полное руководство по профессиональному программированию [2016,... Programmer 2 MB
Programs from Microsoft Aspin A. / Аспин А. - Pro Power BI Desktop, 3rd edition / Power BI Desktop для профессионалов, 3-е издание [2020, PDF, ENG] Download Windows 25 MB
Programming Bhimavarapu U., Hemanth J. D. / Бхимаварапу У., Хемант Дж. Д. - Learning Professional Python: Volume 1 and 2 / Профессиональное изучение Python. Тома 1 и 2 [2024, PDF, EPUB, ENG] Programmer 38 MB
Web design and programming Brian P. Hogan, Chris Warren, Mike Weber / Брайан Хоган, К. Уоррен, М. Уэбер - Web Development Recipes / Книга веб-программиста: секреты профессиональной разработки веб-сайтов [2013, PDF, RUS] Download WYSIWYG 3 MB
Display posts:    
Reply to topic

Current time is: 24-Feb 14:01

All times are UTC + 2



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum