Laravel. Полное руководство. 3 изд

Оглавление⌄
Предисловие....20 О чем эта книга....20 Для кого предназначена книга....21 Структура издания....21 О третьем издании....21 Условные обозначения....22 Благодарности....23 От издательства....24 Глава 1. Зачем использовать Laravel....25 Для чего нужен фреймворк....25 «Все своими руками»....26 Согласованность и гибкость....26 Краткий экскурс в историю веб- и PHP-фреймворков....26 Ruby on Rails....27 Бум PHP-фреймворков....27 Преимущества и недостатки CodeIgniter....27 Laravel 1, 2 и 3....28 Laravel 4....28 Laravel 5....28 Laravel 6....29 Версии Laravel в новом мире SemVer (6+)....29 Чем уникален Laravel....29 Философия Laravel....29 Как Laravel делает разработчиков счастливее....30 Сообщество Laravel....31 Как работает Laravel....32 Почему стоит выбрать Laravel....34 Глава 2. Настройка среды разработки для использования Laravel....35 Системные требования....35 Composer....36 Локальные среды разработки....36 Artisan Serve....36 Laravel Sail....36 Laravel Valet....37 Laravel Herd....37 Laravel Homestead....37 Создание нового проекта Laravel....38 Установка Laravel с помощью установщика Laravel....38 Установка Laravel с помощью функции create-project менеджера пакетов Composer....38 Установка Laravel с помощью Sail....39 Структура каталогов Laravel....39 Каталоги....40 Отдельные файлы....40 Конфигурация....41 Файл .env....42 Завершение настройки....44 Тестирование....45 Резюме....45 Глава 3. Маршрутизация и контроллеры....46 Краткое введение в MVC, команды HTTP и REST....46 Что такое MVC....46 HTTP-команды....47 Что такое REST....48 Определения маршрутов....49 Команды маршрутов....50 Обработка маршрутов....51 Параметры маршрутов....52 Имена маршрутов....53 Группы маршрутов....55 Промежуточное ПО....56 Префиксы путей....57 Поддоменная маршрутизация....58 Префиксы имен....58 Контроллеры групп маршрутов....59 Запасные маршруты....59 Подписанные маршруты....59 Подписание маршрута....60 Изменение маршрутов для разрешения подписанных ссылок....61 Представления (views)....61 Прямой возврат простых маршрутов с помощью метода Route::view()....62 Общий доступ представлений к переменным с использованием компоновщиков представлений....63 Контроллеры (controllers)....63 Получение ввода пользователя....65 Внедрение зависимостей в контроллеры....67 Контроллеры ресурсов....68 Контроллеры ресурсов API....69 Контроллеры одиночного действия....70 Привязка модели маршрута....70 Неявная привязка модели маршрута....70 Пользовательская привязка модели маршрута....72 Кэширование маршрутов....72 Подмена метода формы....73 HTTP-команды в Laravel....73 Подмена HTTP-метода в HTML-формах....73 Защита CSRF....74 Перенаправления....75 redirect()->to()....76 redirect()->route()....77 redirect()->back()....77 Другие методы перенаправления....77 redirect()->with()....78 Отмена запроса....79 Пользовательские ответы....80 response()->make()....80 response()->json() и ->jsonp()....80 response()->download(), ->streamDownload() и ->file()....80 Тестирование....81 Резюме....82 Глава 4. Движок шаблонов Blade....83 Отображение данных....84 Управляющие структуры....84 Условные конструкции....85 Циклы....85 Наследование шаблонов....87 Определение разделов страницы с помощью директив @section/@show и @yield....87 Включение частичных представлений....90 Использование компонентов....91 Использование стеков....96 Компоновщики представлений и внедрение сервисов....97 Привязка данных к представлениям с использованием компоновщиков представлений....97 Внедрение сервиса Blade....100 Пользовательские директивы Blade....101 Параметры пользовательских директив Blade....102 Пример: применение пользовательских директив Blade для многоклиентских приложений....103 Упрощенные пользовательские директивы для операторов if....104 Тестирование....104 Резюме....106 Глава 5. Базы данных и Eloquent....107 Конфигурация....107 Подключения к базе данных....108 Настройка URL....109 Другие параметры конфигурации базы данных....110 Миграции....110 Определение миграций....110 Запуск миграций....120 Инспектирование базы данных....121 Наполнение базы данными....122 Создание заполнителя....122 Фабрики моделей....123 Генератор запросов....130 Стандартное использование фасада DB....131 Чистый SQL....131 Выстраивание цепочки с генератором запросов....133 Транзакции....142 Ведение в Eloquent....143 Создание и определение моделей Eloquent....144 Получение данных с помощью Eloquent....146 Вставки и обновления с помощью Eloquent....148 Удаление с помощью Eloquent....151 Области видимости....154 Взаимодействия с полями с использованием аксессоров, мутаторов и приведением типов атрибутов....157 Коллекции Eloquent....162 Сериализация Eloquent....164 Отношения Eloquent....166 Синхронное обновление меток времени в родительских и дочерних записях....179 События Eloquent....182 Тестирование....183 Резюме....185 Глава 6. Компоненты для клиентской части....186 Стартовые наборы Laravel....186 Laravel Breeze....187 Laravel Jetstream....188 Конфигурация Laravel Vite....191 Упаковка файлов с помощью Vite....192 Сервер разработки Vite....193 Статические ресурсы и Vite....193 Vite и работа с фреймворками JavaScript....194 Использование переменных окружения в Vite....196 Разбивка на страницы....196 Разбивка на страницы результатов из базы данных....196 Разбивка на страницы вручную....198 Пакеты сообщений....199 Строковые вспомогательные функции, множественность и локализация....201 Строковые вспомогательные функции и множественность....201 Локализация....202 Тестирование....206 Тестирование пакетов сообщений и ошибок....206 Перевод и локализация....206 Отключение Vite при тестировании....207 Резюме....207 Глава 7. Сбор и обработка пользовательских данных....208 Внедрение объекта запроса....208 $request->all()....209 $request->except() и $request->only()....209 $request->has() и $request->missing()....210 $request->whenHas()....210 $request->filled()....211 $request->whenFilled()....211 $request->mergeIfMissing()....211 $request->input()....212 $request->method() и $request->isMethod()....212 $request->integer(), $request->float(), $request->string() и $request->enum()....212 $request->dump() и $request->dd()....213 Ввод массива....213 Ввод JSON (и $request->json())....214 Маршрутные данные....215 Из Request....215 Из параметров маршрута....216 Выгруженные файлы....216 Валидация....218 Метод validate() объекта Request....219 Подробнее о правилах проверки Laravel....220 Валидация вручную....221 Использование проверенных данных....221 Объекты пользовательских правил....222 Отображение сообщений об ошибках валидации....222 Запросы формы....223 Создание запроса формы....223 Использование запроса формы....224 Модель массового назначения Eloquent....225 Синтаксис {{ и {!!....226 Тестирование....227 Резюме....228 Глава 8. Интерфейсы Artisan и Tinker....229 Введение в интерфейс Artisan....229 Основные команды Artisan....230 Параметры....231 Сгруппированные команды....232 Написание пользовательских команд Artisan....234 Пример команды....235 Аргументы и параметры....236 Использование ввода....238 Приглашения....240 Вывод....241 Команды на основе замыканий....242 Вызов команд Artisan в нормальном коде....243 Tinker....244 Сервер дампа Laravel....244 Настройка шаблонов генератора....245 Тестирование....246 Резюме....246 Глава 9. Аутентификация и авторизация пользователей....247 Модель User и миграция....247 Использование глобальной вспомогательной функции auth() и фасада Auth....251 routes/auth.php, контроллеры аутентификации и действия....251 Шаблоны пользовательского интерфейса в Breeze и Jetstream....253 Токен «Запомнить меня»....253 Подтверждение пароля....254 Выполнение вручную аутентификации пользователей....254 Выполнение вручную выхода пользователя из системы....255 Аннулирование сессий на других устройствах....255 auth....256 Верификация адресов электронной почты....257 Blade-директивы для аутентификации....258 Охранники....259 Изменение охранника по умолчанию....259 Использование других охранников без изменения охранника по умолчанию....260 Добавление нового охранника....260 Охранники на основе замыкания запроса....260 Создание собственного провайдера пользователей....261 Собственные провайдеры пользователей для нереляционных баз данных....262 События аутентификации....262 Система авторизации и роли....263 Определение правил авторизации....263 Фасад Gate (и его внедрение)....264 Шлюзы ресурсов....265 Authorize....266 Авторизация внутри контроллера....266 Проверка с помощью экземпляра класса User....268 Проверки с помощью Blade-директив....269 Перехват проверок....269 Политики....270 Тестирование....272 Резюме....275 Глава 10. Запросы, ответы и промежуточное ПО....276 Жизненный цикл запроса в Laravel....276 Начальная загрузка приложения....277 Сервис-провайдеры....278 Объект Request....279 Получение объекта Request в Laravel....280 Получение основной информации о запросе....281 Объект Response....286 Использование и создание объектов Response в контроллерах....286 Специализированные типы ответов....287 Laravel и промежуточное ПО....293 Вводная информация о промежуточном ПО....293 Создание собственного промежуточного ПО....294 Привязка промежуточного ПО....296 Передача параметров промежуточному ПО....299 Промежуточное ПО по умолчанию....300 Режим обслуживания....300 Ограничение частоты....300 Доверенные прокси-серверы....301 CORS....302 Тестирование....303 Резюме....304 Глава 11. Контейнер....305 Вводная информация о внедрении зависимостей....305 Внедрение зависимостей и Laravel....307 Глобальная вспомогательная функция app()....307 Как осуществляется привязка к контейнеру....308 Привязка классов к контейнеру....309 Привязка к замыканию....309 Привязка одиночек, псевдонимов и экземпляров....310 Привязка конкретного экземпляра к интерфейсу....311 Контекстная привязка....312 Внедрение в конструктор в файлах фреймворка Laravel....313 Внедрение через метод....313 Фасады и контейнер....315 Как работают фасады....315 Фасады реального времени....317 Сервис-провайдеры....317 Тестирование....318 Резюме....319 Глава 12. Тестирование....320 Основы тестирования....321 Именование тестов....324 Среда тестирования....325 Трейты тестирования....326 RefreshDatabase....326 DatabaseMigrations....326 DatabaseTransactions....326 WithoutMiddleware....327 Простые модульные тесты....327 Как осуществляется тестирование приложений....328 HTTP-тесты....329 Тестирование простых страниц с помощью вызова $this->get() и других HTTP-вызовов....329 Тестирование API на базе JSON с помощью вызова $this->getJson() и других HTTP-вызовов на базе JSON....330 Утверждения в отношении объекта $response....331 Аутентификация ответов....334 Ряд других настроек HTTP-тестов....335 Обработка исключений в тестах приложений....335 Отладка ответов....336 Тесты базы данных....336 Проверка утверждений в отношении базы данных....337 Проверка утверждений в отношении моделей Eloquent....337 Использование фабрик моделей в тестах....338 Заполнение начальными данными в тестах....338 Тестирование других систем Laravel....338 Подделка событий....338 Подделка фасадов Bus и Queue....340 Подделка фасада Mail....341 Подделка фасада Notification....342 Подделка фасада Storage....343 Работа со значениями времени в тестах....344 Имитирование....345 Вводная информация об имитировании....345 Вводная информация о Mockery....345 «Подделка» других фасадов....348 Тестирование команд Artisan....349 Параллельное тестирование....350 Браузерные тесты....351 Выбор инструмента....351 Тестирование с использованием Dusk....351 Pest....363 Резюме....363 Глава 13. Создание API....364 Базовые сведения о REST-подобных API на базе JSON....364 Организация контроллеров и возвращаемые JSON-сообщения....366 Чтение и отправка заголовков....369 Отправка заголовков ответа в Laravel....370 Чтение заголовков запроса в Laravel....370 Разбивка на страницы в Eloquent....370 Сортировка и фильтрация....372 Сортировка результатов API....373 Фильтрация результатов API....374 Преобразование результатов....375 Ресурсы API....376 Создание класса ресурса....376 Коллекции ресурсов....377 Вложение отношений....379 Применение разбивки на страницы к ресурсам API....380 Условное применение атрибутов....381 Другие настройки для ресурсов API....381 Аутентификация API....382 Аутентификация API с помощью Sanctum....382 Аутентификация API с помощью Laravel Passport....386 Вводная информация о OAuth 2.0....386 Настройка ответов с кодом 404....398 Активация резервного маршрута....399 Тестирование....399 Тестирование пакета Passport....400 Резюме....400 Глава 14. Сохранение и извлечение данных....401 Локальные и облачные файловые менеджеры....401 Настройка доступа к файлам....401 Использование фасада Storage....403 Добавление дополнительных провайдеров из пакета Flysystem....405 Базовые способы выгрузки файлов на сервер и манипулирования файлами....406 Простые способы скачивания файлов....407 Сессии....407 Получение доступа к сессии....408 Методы, доступные в экземплярах сессий....409 Кратковременное хранилище сессии....411 Кэш....411 Получение доступа к кэшу....412 Методы, доступные в экземплярах кэшей....412 Cookie-файлы....414 Cookie-файлы в Laravel....414 Получение доступа к cookie-файлам....414 Журналирование....417 Когда и зачем следует выполнять журналирование....418 Запись сообщений в журналы....418 Каналы журналирования....419 Полнотекстовый поиск с использованием Laravel Scout....422 Установка пакета Scout....422 Пометка модели для индексирования....422 Поиск по вашему индексу....423 Очереди и Scout....423 Выполнение операций без индексирования....424 Условное индексирование моделей....424 Запуск индексирования вручную с помощью кода....424 Запуск индексирования вручную с помощью интерфейса командной строки....425 HTTP-клиент....425 Использование фасада HTTP....425 Обработка ошибок и тайм-аутов, а также проверка статусов....426 Тестирование....427 Хранилище файлов....427 Сессия....428 Кэш....430 Cookie-файлы....430 Журналирование....431 Scout....431 HTTP-клиент....432 Резюме....433 Глава 15. Почта и уведомления....434 Почта....434 Простейший способ использования «отправлений»....435 Шаблоны писем....437 Методы, доступные в envelope()....438 Прикрепление файлов и встраивание изображений....440 Markdown-отправления....441 Визуализация отправлений в браузере....443 Очереди....444 Локальная разработка....445 Уведомления....446 Определение метода via() для уведомляемых объектов....449 Отправка уведомлений....449 Помещение уведомлений в очередь....450 Предлагаемые по умолчанию типы уведомлений....450 Тестирование....454 Электронная почта....454 Уведомления....456 Резюме....457 Глава 16. Очереди, задания, события, рассылка и планировщик....458 Очереди....458 Зачем нужны очереди....459 Базовая конфигурация очередей....459 Задания в очереди....460 Запуск обработчика очередей....465 Обработка ошибок....466 Управление очередью....470 Очереди для поддержки других функций....471 Laravel Horizon....471 События....472 Запуск события....473 Прослушивание события....474 Рассылка событий посредством веб-сокетов и Laravel Echo....478 Конфигурация и настройка....478 Рассылка события....479 Получение сообщения....481 Продвинутые инструменты рассылки....483 Laravel Echo (сторона JavaScript-кода)....487 Планировщик....492 Доступные типы задач....493 Доступные временные интервалы....493 Определение часовых поясов для запланированных задач....496 Блокирование и наложение....496 Обработка выходных данных задачи....497 Ловушки задач....498 Запуск планировщика при локальной разработке....498 Тестирование....498 Резюме....500 Глава 17. Вспомогательные функции и коллекции....501 Вспомогательные функции....501 Массивы....501 Строки....504 Пути приложения....507 URL-адреса....508 Прочее....510 Коллекции....513 Базовые сведения....513 Некоторые операции с коллекциями....515 Резюме....522 Глава 18. Экосистема инструментов Laravel....523 Инструменты, рассмотренные в книге....523 Valet....523 Homestead....523 Herd....524 Установщик Laravel....524 Dusk....524 Passport....524 Sail....524 Sanctum....525 Fortify....525 Breeze....525 Jetstream....525 Horizon....525 Echo....526 Инструменты, не рассмотренные в этой книге....526 Forge....526 Vapor....526 Envoyer....527 Cashier....527 Socialite....528 Nova....528 Spark....528 Envoy....528 Telescope....529 Octane....529 Pennant....529 Folio....530 Volt....530 Pint....530 Другие ресурсы....530 Глоссарий....532 Об авторе....541 Иллюстрация на обложке....542Описание
Ниже — практический обзор по теме «laravel».
Скорость и простота. Что отличает Laravel от других PHP-фреймворков? Стремительная разработка приложений, обширная экосистема и набор инструментов Laravel позволяют моментально создавать сайты и приложения, отличающиеся чистым удобочитаемым кодом. Третье издание, обновленное с учетом Laravel 10, — это практическое руководство по использованию одного из самых популярных на сегодняшний день веб-фреймворков.
Опытным PHP-разработчикам книга поможет оперативно разобраться с темой, чтобы реализовать проект на Laravel. Мэтт Стаффер, известный преподаватель и ведущий разработчик, представляет полный обзор фреймворка и конкретные примеры работы с ним. В обновленном руководстве рассматриваются в том числе совершенно новые инструменты аутентификации и разработки пользовательских интерфейсов, а также ряд сторонних инструментов, появившихся после выхода в свет второго издания.
Если материал оказался полезен — сохраните страницу.
Поделиться
Частые вопросы
Можно ли скачать «Laravel. Полное руководство. 3 изд» бесплатно?
Да, «Laravel. Полное руководство. 3 изд» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF.
Кто автор и когда вышла книга?
автор — Стауффер Мэтт, издательство Спринт Бук, год выпуска 2024, 544 страниц.
О чём книга «Laravel. Полное руководство. 3 изд»?
Что отличает Laravel от других PHP-фреймворков?