Поиск по блогу
19.11.2020
Пусть у нас есть форма обратной связи на сайте. После отправки сообщения происходит отправка письма с данными этой формы. Но вместо того, чтобы просто отправить письмо, мы возбудим событие, перехватим его в слушателе и только после этого отправим письмо. Смысла в этом особого нет, сделано с целью изучения Laravel.
17.11.2020
Кроме обычного удаления записей из базы данных, Eloquent также умеет удалять модели без удаления. При таком удалении модель на самом деле остаётся в базе данных, но в таблице БД устанавливается атрибут deleted_at. Если у модели ненулевое значение deleted_at, значит было использовано псевдоудаление.
16.11.2020
Поскольку у нас теперь товары имеют атрибуты new, hit и sale, мы можем их отбирать по этим атрибутам. Другими словами — реализовать фильтр товаров. Давайте создадим шаблон filter.blade.php в директрии views/catalog/part и подключим его в шаблоне views/catalog/category.blade.php.
11.11.2020
Аксессоры (accessors) и мутаторы (mutators) позволяют модифицировать значения атрибутов Eloquent при их чтении или записи в экземпляры моделей. Допустим, у нас есть таблица базы данных users и соотвествующая ей модель User. В таблице есть поля first_name (имя) и last_name (фамилия).
09.11.2020
На главной странице сайта будем показывать новинки, лидеров продаж и товары распродажи. Для этого нам надо добавить в таблицу базы данных products три новых поля — new, hit и sale. Тогда для главной страницы сможем отобрать и показать три коллекции. Потребуется добавить на форму для редактирования товара три checkbox-а.
06.11.2020
Стек — это заглушка где-то в родительском шаблоне. А дочерние шаблоны могут вставлять свое содержимое на место этой заглушки. Причем старое содержимое при этом не теряется, а новое вставляется перед старым или после него. Это похоже на php-функции array_push() и array_unshift(), которые добавляют элемент в конец или начало массива.
05.11.2020
Blade — простой, но мощный шаблонизатор, поставляемый с Laravel. В отличие от других популярных шаблонизаторов не ограничивает в использовании чистого php-кода в шаблонах. Все шаблоны Blade компилируются в чистый php-код и кешируются, до того момента, как в них будет внесены изменения.
04.11.2020
Фреймворк Laravel имеет в своём арсенале много полезных функций, и одна из них — привязка модели к маршруту (Route Model Binding). Привязка модели к маршруту — это механизм внедрения экземпляра модели по ключу маршрута. Звучит сложно, но на самом деле все просто. Мы уже использовали привязку в панели управления много раз.
02.11.2020
Нехорошо заставлять постоянного покупателя, который зарегистрирован на сайте, вводить одинаковые данные при каждом оформлении заказа. Давайте добавим возможность создания профилей в личном кабинете. Профиль содержит все данные, которые необходимы, чтобы оформить заказ в магазине, то есть ФИО, адрес почты, телефон, адрес доставки.
31.10.2020
Давайте создадим контроллер для показа страницы сайта в публичной части. У этого контроллера будет только одно действие, а следовательно — только один метод. Создать заготовку такого контроллера можно с помощью artisan-команды. Добавим маршрут в файл routes/web.php и создадим шаблон page/show.blade.php.