PHP Profi

Тег #Laravel

ИнструментыМгновенный ajax-поиск на Laravel и Vue

Мгновенный поиск является довольно популярной фичей на сайтах и в приложениях. В этом посте мы постараемся охватить ключевые моменты реализации поиска в реальном времени с такими функциями, как подавление "дребезга" или подсветка результатов.

Пролог: официальный пакет для реальной работы

Если вам нужен аккуратный и хорошо поддерживаемый вариант поиска Eloquent-моделей, то Laravel предоставляет для этого официальный пакет. Laravel Scout является пакетом основанным на технике драйверов и реализующий полнотекстовый поиск по Eloquent-моделям. В настоящее время в качестве драйвера он поддерживает только Algolia, но вы можете легко использовать собственный драйвер поиска.

Приступая к работе

В результате должно получиться следующее: мы набираем что-то в поле ввода и отправляем на сервер AJAX-запрос с заданными ключевыми словами. На back-end-е мы получаем ключевые слова и достаём модели, которые соответствуют данному запросу.

Т.к. то, что мы хотим описать в статье - это не более чем демонстрация, то back-end и front-end будут достаточно простыми. Что мы действительно хотим здесь подчеркнуть - ключевые моменты и фичи, которые делают поиск более удобным.

2017-11-07 alek13

ИнструментыЖадная загрузка в Laravel: load() или with()?

Прим. пер.: Это небольшая заметка о работе методов ::with() и ::load() Laravel Eloquent-а, которую должен знать каждый разработчик, пишущий на Laravel. Тут ничего нового, но, как оказывается, не все об этом знают.

Сегодня, работая с одним из моих проектов (который написан на фреймворке laravel) я столкнулся с ситуацией, когда мне нужно для одной из моделей получить данные по другим моделям, связанные с этой. Так вот, для этого у меня есть два варианта, предоставляемых Laravel-ом, которые обычно называют жадной загрузкой:

Оба метода достигают тех же конечных результатов — жадной загрузки моделей в первую. На самом деле, они оба запускают одни и те же два запроса. Какой выбрать?

2017-10-23 alek13

ИнструментыАвторизация из коробки в Laravel 5.2

Если вы похожи на меня, то многие приложения, которые вы пишите с помощью Laravel, имеют схожий каркас: регистрация пользователя, вход, сброс пароля, страница публичных продаж, информационная панель (dashboard) для залогиненного пользователя, маршрут выхода и базовые стили Bootstrap, если вы только начали разработку.

Раньше всё это присутствовало прямо из коробки (примечания переводчика: указанные ниже файлы-шаблоны присутствовали в скелетоне приложения, который разворачивался при установке, — не в самом фреймворке). К моему великому огорчению, это исчезло в последнее время, но теперь эти заготовки доступны через Artisan-команду make:auth (примечания переводчика: и это правильно):

Command line output of artisan make:auth

Какие возможности это нам предоставляет? Давайте копнём глубже.

2016-09-07 alek13

ИнструментыОграничение скорости API в Laravel 5.2

В последнее время всё больше и больше моих работ на Laravel связано с созданием API. У меня есть свой класс для ограничения скорости, который я использовал, но у меня было ощущение, что есть способ сделать это чище. Неудивительно, что, когда Тейлор решил написать middlewere ограничения скорости для Laravel, он сделал это чище и лучше, чем у меня.

2016-08-30 alek13

ИнструментыНеявная привязка модели при роутинге в Laravel 5.2

Этот функционал нельзя назвать новым, и route model binding уже давно есть в Laravel, но в Laravel 5.2 он стал ещё проще.

2016-08-22 alek13

ИнструментыВалидация массива формы в Laravel 5.2

В этой серии я хочу рассказать о новых возможностях Laravel 5.2. Вы заметите, что многое из этого функционала быстрее и легче изучить и использовать, так что может показаться, что этот релиз намного меньше предыдущих. Многое из 5.2 связано с простотой и удобством кода, который мы пишем изо дня в день.

Краткое введение в массивы HTML-формы

Валидация массива формы упрощает процесс проверки немного нестандартной формы данных передаваемых в HTML-форму — когда используется синтаксис массива. Например, распространенный случай, когда пользователь может добавить несколько экземпляров одного типа на одной форме...

2016-04-27 alek13

ИнструментыMiddleware groups in Laravel 5.2

Когда вы пишете крупный проект на Laravel`е, то ваш файл маршрутизации (routes.php) как правило, становится довольно большим. В первую очередь я группирую роуты на логически отдельные секции. Например "admin", "auth", "public".  Обычно каждая из этих групп получает свой собственный набор http-посредников (middleware) — "admin", например, получает auth. Конечно, группа маршрутов для API может использовать другой auth посредник (middleware), а он — использовать специфические для API ограничения или что-то еще.

В Laravel 5.2 появились группы http-посредников (middleware groups), которые являются по сути сокращением (алиасом) для применения большей группы посредников, используя только её ключ.

2016-01-13 alek13