Теги: PHP
02.10.2020
Мы сейчас совсем не используем модели, а все необходимые данные получаем в контроллере. Особенно некрасиво выглядит метод product() контроллера, где у нас большой и сложный запрос к базе данных. Давайте упростим методы контроллера, и будем использовать модели по их прямому назначению — для получения данных.
29.09.2020
Теперь создаем контроллер CatalogController, шаблоны index.blade.php, category.blade.php, brand.blade.php, product.blade.php и добавляем необходимые маршруты. Маршртутов для начала у нас будет пять: главная страница сайта, страница каталога, страница категории, страница бренда и карточка товара.
28.09.2020
Начнем с каталога товаров. Нам потребуются три таблицы в базе данных для хранения категорий, брендов и товаров. Подключаемся к серверу БД и создаем новую базу данных larashop. После этого создаем три модели — Category, Brand и Product вместе с файлами миграции. Отредактируем файлы классов миграций…
27.09.2020
Чтобы предоставить доступ к определённым роутам только аутентифицированным пользователям, можно использовать посредник (middleware). Laravel поставляется с посредником auth, который определён в Illuminate\Auth\Middleware\Authenticate. Когда посредник определяет, что пользователь не аутентифицирован…
25.09.2020
В Laravel сделать аутентификацию очень просто — почти всё готово из коробки. Мы уже установили ранее пакет laravel/ui, чтобы использовать в шаблонах фреймворк bootstrap. Для создания заготовок всех необходимых для аутентификации контроллеров, шаблонов и роутов нужно выполнить artisan-команду.
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(), который будет просто показывать форму.