Как стать автором
Обновить
18.43

Laravel *

Бесплатный веб-фреймворк с открытым кодом

Сначала показывать
Порог рейтинга
Уровень сложности

Из чего состоят карьерные сайты: топ-5 фич и 4 месяца разработки

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров2.7K

Всем привет! Меня зовут Данила Соловьев, я заместитель руководителя направления PHP в AGIMA. Недавно мы разработали собственное коробочное решение — это универсальный бэкенд для карьерных сайтов на Laravel. Мы можем разработать такой за четыре месяца. В этой статье объясняю, что побудило нас сделать такую коробку, из чего она состоит и кому может пригодиться.

Читать далее

Сортировка в Laravel по полям relation-ов

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.9K

Недавно в рабочем проекте потребовалось реализовать универсальную сортировку, которая подходила бы для большинства моделей. Если с обычной сортировкой по полю всё просто - её, подробно описанную, вы найдёте в документации к фреймворку, то для случаев сортировки, когда требуемое поле находится НЕ в основной таблице, а в одной из связанных, информации оказалось исключительно мало и она была весьма разрозненной.

После завершения задачи решил создать этот более-менее "всеохватывающий" гайд.

Читать далее

Постановка задачи (Job) в очередь Laravel из хранимой процедуры или триггера PostgreSQL

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров5.4K

Можно ли заставить приложение на Laravel реагировать на события, происходящие в функциях и триггерах СУБД PostgeSQL? Если повезёт с конфигурацией приложения, то можно. Используя задания и очереди Laravel.

Увлекательный туториал на примере простейшего приложения.

Читать далее

Импорт базы ГАР для нормализации собственной адресной базы в Laravel 10. Часть II, пишем консольное приложение

Уровень сложностиПростой
Время на прочтение39 мин
Количество просмотров4.8K

В предущей части

Исследование выгрузки базы ГАР


Что в этой части?

Создание консольного приложения Laravel, способного по команде artisan загрузить свежую выгрузку с сервера ГАР, распарсить её, занести данные в таблицы, используя многопоточность, и выдать данные в удобном табличном виде, используя представление базы данных.

Не требует web-сервера и запущенных воркеров Laravel.

Готовое приложение, расположенное на github.com прилагается.

В качестве бонуса: реализация «актуализации» устаревшей, но тем не менее, годной к употреблению информации.

Читать далее

Persistent-request библиотека для надежных запросов

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров3.3K

Всем привет!

В этой статье расскажу, как решил написать библиотеку https://packagist.org/packages/xman12/persistent-request и что там внутри.

Как и любая библиотека, эта решает свои задачи, а именно гарантированное выполнение запроса и последующую обработку. Я находил, как минимум, одно решение, которое работает с подобной проблематикой — это temporal.io, но система монструозная, а мне хотелось, чего-то более легкого и приземленного, поэтому я решил написать свое решение этой задачи.

Читать далее

PHP и Laravel дайджест новостей за сентябрь 2023 года

Время на прочтение5 мин
Количество просмотров5.2K

Всем привет! Краткий обзор новостей из мира PHP и Laravel за сентябрь 2023 года  от Сергея Пантелеева и Данила Щуцкого.

Читать далее

Совет по безопасности: увеличьте количество проходов bcrypt

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4K

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

Узнать почему

Обзор NativePHP. Инструмент для создания собственных нативных desktop приложений на Laravel

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров15K

Привет, коллеги!

В этой статье я сделаю небольшой обзор NativePHP, который появился на последнем Laracon. Что из себя представляет NativePHP? Перед нами фреймворк, который позволяет нам писать нативные десктоп приложения, используя PHP. Приложения кроссплатформенные - можно писать под Mac, Windows и Linux. И все это с использованием нашего любимого PHP с использованием Laravel. Но как обещают разработчики в будущем появятся и другие драйверы.

Читать далее

Импорт базы ГАР для нормализации собственной адресной базы в Laravel 10. Часть I, исследуем выгрузку ГАР

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров5.2K

Решаемая задача

Зная UUID дома (ранее идентификатор ФИАС) требуется найти почтовый индекс, город, улицу и номер дома для отдельно взятого региона, и на этих данных создать собственные справочники. Используемая РСУБД — PostgeSQL, используемый фреймворк — Laravel 10.

Для кого может оказаться полезен данный материал

Для тех, кто решает схожую задачу или, кто решает задачу от противного, т.е. приводит в порядок свои базы, находя «Идентификатор ФИАС» по наименованиям городов, улиц и т.п. А так же всем, кто хочет разобраться в структуре базы ГАР, в рамках решаемой задачи.

Что в 1-й части

Подробный анализ выгрузки базы ГАР, описание полей, нахождение реляций.

Читать далее

Неортодоксальный Eloquent. Часть 2

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров3.6K

Eloquent - это мощный и умный инструмент, нравящийся многим своими возможностями. Он позволяет с лёгкостью выполнять операции с базами данных, сохраняя при этом простоту использования. Реализуя паттерн Active Record (AR), описанный Фаулером в книге "PoEAA", является одним из лучших реализаций на сегодняшний день.

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

Если Вы ещё не читали первую часть, самое время это сделать.

Читать далее

Неортодоксальный Eloquent. Часть 1

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров8.3K

Eloquent - это мощный и умный инструмент, нравящийся многим своими возможностями. Он позволяет с лёгкостью выполнять операции с базами данных, сохраняя при этом простоту использования. Реализуя паттерн Active Record (AR), описанный Фаулером в книге "PoEAA", является одним из лучших реализаций на сегодняшний день.

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

Как и все существующие инструменты, у Eloquent имеются свои нюансы. Как ответственные разработчики, мы всегда должны помнить о том, на что соглашаемся. Если Вы хотите узнать больше об AR и философии её разработки, очень рекомендую статью Шона МакКула.

Читать далее

Первый взгляд на MoonShine

Время на прочтение3 мин
Количество просмотров6.9K

Меня зовут Данил Щуцкий, я автор проекта CutCode. В этой статье я хотел рассказать вам о MoonShine — панели для администрирования для ваших проектов на Laravel.

Над MoonShine я работаю с участниками комьюнити CutCode. Это open‑source проект, основная задача которого — сделать админ‑панель максимально простую (для начинающих разработчиков) и в тоже время функциональную и кастомизируемую (для опытных).

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

В качестве стека был выбран TAL (Tailwindcss, Alpine.js, Laravel), на мой взгляд и функционально и перспективно.

На момент написания статьи актуальная версия MoonShine 1.62. Для работы MoonShine необходимо:

php >= 8.0

laravel >= 9.0

Для комфортного применения MoonShine написана документация, а также снят подробный видеогайд.

Читать далее

PHP и Laravel дайджест новостей за август 2023 года

Время на прочтение3 мин
Количество просмотров4.5K

Текстовая версия дайджеста новостей PHP и Laravel за август 2023 от Сергея Пантелеева и Данила Щуцкого

Читать далее

Ближайшие события

Организация кода в Laravel. Личный опыт

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров23K

Hola Amigos! На связи Евгений Шмулевский, PHP-разработчик в Amiga. Начал заниматься программированием с 2001 года, привет Basic и Express/Turbo Pascal. Веб-разработкой — с 2011 года, а профессионально в вебе с 2013 года. Работал продолжительное время с Битрикс, а с 2018 начал осваивать Laravel. 

Читать далее

Почему тип поля enum на уровне базы — зло

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров40K

Часто разработчики интересуются почему не рекомендуется использовать тип поля enum в базе данных, и в этой статье мы рассмотрим все плюсы и минусы данного типа.

Тип колонки enum используется для хранения данных, которые могут принимать определённые значения из заранее определённого набора. Он обеспечивает ограничение значений, которые может принимать колонка, и позволяет более строго контролировать данные. Это может быть полезно для хранения статусов, категорий, типов или любых других значений, которые могут быть заданы только из ограниченного набора вариантов.

Но это в теории. А что на практике? Рассмотрим под катом.

Читать далее

Laravel Pint — отличный

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров4K

Laravel Pint — это помощник, который подсвечивает предполагаемые ошибки в вашем PHP-коде. Инстурмент заточен специально для Framework Laravel и из коробки доступен в Laravel 10. Pint построен на основе PHP-CS-Fixer. С его помощью ваш код станет чистым и согласованным.

Читать далее

Гайд 2023 Xdebug в PHPSTORM + Virtual server + Docker для macOS с пробросом портов

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6K

Предварительно необходимо убедиться, чтобы в контейнере под php-fpm у вас был пакет Xdebug. Нужно либо установить в ручную, либо зашить в Dockerfile - конечно же второе будет лучше, т.к не придется при перезапуске делать одно и то же действие с установкой.

Мой DockerFile пример с командами установщика

Читать далее

ChatGPT помогает разгрузить Middle разработчика: как за 5 минут сделать 1-2 часовую задачу

Время на прочтение8 мин
Количество просмотров43K

Привет, меня зовут Артем Рыбин, и я team lead backend developer в KOTELOV. Сегодня я покажу, как решить практическую задачку с помощью нейросети и сэкономить больше часа. Будем покрывать unit тестами DTO класс в приложении на Laravel.

Читать далее

Как быстро запустить Laravel на Windows

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров16K

Все привет, меня зовут Павел Жуковский и сегодня я расскажу о том как быстро развернуть Laravel на Windows.

Как развернуть Laravel с помощью OSPanel (Open Server Panel)?

На самом деле всё не так уж сложно, но повозиться придётся...

Читать далее

Постановка задач в очередь Laravel сторонними сервисами

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.3K

При работе над проектом (будь-то хайповые микросервисы или монолит) довольно часто возникает ситуация, когда необходимо, чтобы один сервис поставил задачу для другого сервиса. Задача довольно тривиальная, если на обеих сторонах используется один и тот же фреймворк. Но все становится намного интересней, когда на стороне подписчика допустим Laravel со своим дефолтным форматом, а на стороне издателя что‑то модное на Go.

Читать далее