Поиск по блогу
21.11.2020
Конструктор запроса предоставляет удобный интерфейс для создания и выполнения запросов к базе данных. И может использоваться для выполнения большинства типов операций. Конструктор использует привязку параметров к запросам средствами PDO для защиты от SQL-инъекций. Нет необходимости экранировать строки перед их передачей в запрос.
20.11.2020
У Laravel для работы с базой данных есть механизм под названием Eloquent, плюс имеется мощный конструктор запросов (Query Builder), но иногда необходимо написать просто «сырой» запрос (Raw Query). Это можно сделать с помощью фасада Illuminate\Support\Facades\DB, который имеет методы для каждого типа запроса.
19.11.2020
Пусть у нас есть форма обратной связи на сайте. После отправки сообщения происходит отправка письма с данными этой формы. Но вместо того, чтобы просто отправить письмо, мы возбудим событие, перехватим его в слушателе и только после этого отправим письмо. Смысла в этом особого нет, сделано с целью изучения Laravel.
18.11.2020
Отправку почты рассмотрим на примере формы обратной связи с полями «Имя», «Почта» и «Сообщение». Нам потребуется создать контроллер, который будет показывать фому и обрабатывать POST-запрос от клиента. Потом добавим два роута и создам шаблон с формой. После этого нам потребуется создать класс FeedbackMailer…
17.11.2020
Кроме обычного удаления записей из базы данных, Eloquent также умеет удалять модели без удаления. При таком удалении модель на самом деле остаётся в базе данных, но в таблице БД устанавливается атрибут deleted_at. Если у модели ненулевое значение deleted_at, значит было использовано псевдоудаление.
06.11.2020
Стек — это заглушка где-то в родительском шаблоне. А дочерние шаблоны могут вставлять свое содержимое на место этой заглушки. Причем старое содержимое при этом не теряется, а новое вставляется перед старым или после него. Это похоже на php-функции array_push() и array_unshift(), которые добавляют элемент в конец или начало массива.
05.11.2020
Blade — простой, но мощный шаблонизатор, поставляемый с Laravel. В отличие от других популярных шаблонизаторов не ограничивает в использовании чистого php-кода в шаблонах. Все шаблоны Blade компилируются в чистый php-код и кешируются, до того момента, как в них будет внесены изменения.
15.10.2020
Контракты в Laravel — это интерфейсы. Это название связано с тем, что почти все интерфейсы находятся в пространстве имен Contracts. Свои контракты (интерфейсы) можно хранить где угодно, например в app/Helpers/Contracts. Давайте создадим контракт и два класса, которые его реализуют.
06.10.2020
При разработке сайтов часто возникает ситуация, когда некие данные являются общими для для многих или вообще всех страниц. Например — навигация в шапке или подвале, блок с популярными записами блога, меню каталога и т.д. Именно для таких случаев в Laravel предусмотрено готовое решение — View Composers.
27.09.2020
Чтобы предоставить доступ к определённым роутам только аутентифицированным пользователям, можно использовать посредник (middleware). Laravel поставляется с посредником auth, который определён в Illuminate\Auth\Middleware\Authenticate. Когда посредник определяет, что пользователь не аутентифицирован…