Теги: Laravel
19.09.2020
Laravel предоставляет несколько способов для валидации входящих данных. По умолчанию базовый контроллер использует трейт ValidatesRequests, который обеспечивает удобный способ валидации HTTP-запросов c большим количеством правил валидации. Рассмотрим простой пример валидации формы и вывод сообщений об ошибках для пользователя.
18.09.2020
Вроде блог у нас уже работает, можно просматривать, редактировать и удалять записи. Но есть проблема с заголовками страниц сайта — они везде одинаковые. Заголовок задается в layout-шаблоне app.blade.php и имеет значение «Веб-разработка». Давайте это изменим и будем для разных страниц устанавливать разные значения.
17.09.2020
Прежде, чем двигаться дальше, давайте внесем пару мелких изменений в проект. Во-первых, у нас сейчас два почти одинаковых шаблона create.blade.php и edit.blade.php. Во-вторых, если будет запрошен для показа или редактирования не существующий пост — будет выброшено исключение. Лучше в этом случае показать страницу 404.
16.09.2020
Хорошо, с добавлением нового поста вроде разобрались, теперь нужно его показать. Для этого создаем новый шаблон show.blade.php, добавляем новый маршрут, реализуем метод show() контроллера. В шаблонах index.blade.php и search.blade.php делаем ссылку для просмотра отдельного поста.
15.09.2020
Laravel предоставляет мощную абстракцию для работы с файловой системой благодаря php-пакету Flysystem от Франка де Жонге. Настройки файловой системы находятся в файле config/filesystems.php. В нём можно настроить так называемые «диски». Каждый диск представляет собой определенный драйвер и место хранения.
14.09.2020
Теперь нам нужно реализовать остальные методы контроллера PostController — create(), store(), show(), edit(), update() и destroy(). Давайте создадим шаблон create.blade.php, добавим два маршрута в файле routes/web.php и внесем изменения в метод create(), который будет просто показывать форму.
12.09.2020
Наш контроллер умеет только выводить список всех постов блога. Но нам нужно, чтобы контроллер умел еще показывать отдельный пост, добавлять новый, редактировать или удалять существующий. Поэтому удаляем файл контроллера и создаем заново с помощью artisan-команды make:controller.
11.09.2020
Создадим первый контроллер, первое представление и первый маршрут. В результате на главной странице сайта будет показан список всех постов блога. Для создания контроллера используем artisan-команду make:controller — в результате будет создан файл класса контроллера в директории app/Http/Controllers.
09.09.2020
Laravel включает в себя механизм наполнения базы данных начальными данными (seeding) с помощью специальных классов. Все такие классы хранятся в директории database/seeds. Они могут иметь любое имя, но лучше придерживаться какой-то логики в их именовании — например, UserTableSeeder, PostTableSeeder и т.д.
08.09.2020
Миграции — что-то вроде системы контроля версий для базы данных. Они позволяют каждому разработчику в команде изменять структуру БД, в то же время оставаясь в курсе изменений других участников. Для создания новой миграции предназначена Artisan-команда make:migration. Миграция будет помещена в директорию database/migrations…