Поиск по блогу
14.06.2021
Расширение предназначено для отладки js-кода в редакторе VS Code с использованием Chrome DevTools протокола. Это альтернатива тому, чтобы отлаживать js-код в панели разработчика браузера Chrome. Для начала работы нужно установить это расширение в разделе плагинов.
12.02.2021
Продолжаем работать с корзиной, которая позволяет восстановить посты блога, удаленные по ошибке. Нам надо создать контроллер, который позволит работать с удаленными постами, добавить несколько маршрутов и создать шаблон для просмотра списка удаленных постов. Кроме того, надо защитить созданные маршруты…
10.12.2020
На всех страницах сайта в левой колонке показывается меню категорий блога и список популярных тегов. Это значит, что эти данные мы должны получать всегда, и отправлять их в layout-шаблон. Именно для таких случаев в Laravel предусмотрено готовое решение — View Composers.
25.11.2020
События в Laravel представлены реализацией паттерна Observer, что позволяет подписываться и прослушивать события приложения. Как правило, классы событий находятся в директории app/Events, а классы обработчиков событий — в app/Listeners. Класс события не содержит логики — это просто контейнер для объекта.
04.11.2020
Фреймворк Laravel имеет в своём арсенале много полезных функций, и одна из них — привязка модели к маршруту (Route Model Binding). Привязка модели к маршруту — это механизм внедрения экземпляра модели по ключу маршрута. Звучит сложно, но на самом деле все просто. Мы уже использовали привязку в панели управления много раз.
31.10.2020
Давайте создадим контроллер для показа страницы сайта в публичной части. У этого контроллера будет только одно действие, а следовательно — только один метод. Создать заготовку такого контроллера можно с помощью artisan-команды. Добавим маршрут в файл routes/web.php и создадим шаблон page/show.blade.php.
11.10.2020
Давайте теперь займемся оформлением заказа в магазине. Нам потребуются две таблицы в базе данных — таблица orders (для хранения заказов) и таблица order_items (для хранения заказанных товаров). Создаем две модели и две миграции с помощью artisan-команды. После этого запускаем миграцию, чтобы создать таблицы базы данных.
04.10.2020
Для каждого товара в корзине есть две кнопки — «Плюс» и «Минус», которые увеличивают или уменьшают количество. Давайте добавим два маршрута, создадим две формы в шаблоне и реализуем два метода в контроллере — plus() и minus(). В результате получился большой и запутанный контроллер, а модель не используется вовсе — надо это исправить.
03.10.2020
Добавим еще один контроллер BasketController, который будет отвечать за корзину покупателя. Корзины будем хранить в таблице baskets базы данных. И нам еще потребуется таблица для связи многие-ко-многим — для товаров и корзин. В одной корзине может быть несколько товаров, один товар может быть в нескольких корзинах.
05.09.2020
Допустим, у нас есть локальная сеть компании и локальная сеть филиала, расположенные далеко друг от друга. И нам надо обеспечить связь между этими сетями по защищенному каналу. Интернет-провайдеры не предоставляют белых ip-адресов, поэтому нам потребуется промежуточный сервер, у которого такой ip-адрес есть.