Валидация email адресов в Laravel
Кейс: приложение должно валидировать входящие email-адреса по усиленным правилам
Проблема: при тестировании код "зависает" так как честно пытается выполнить свою задачу на фейковых адресах (
Решение: на уровне сервис-провайдера определяем дефолтные правила для разных сред.
После этого в форм-реквестах самого приложения можно писать просто
Кейс: приложение должно валидировать входящие email-адреса по усиленным правилам
Проблема: при тестировании код "зависает" так как честно пытается выполнить свою задачу на фейковых адресах (
fake()->email
)Решение: на уровне сервис-провайдера определяем дефолтные правила для разных сред.
После этого в форм-реквестах самого приложения можно писать просто
email
вместо email:dns,rfc,...
:-'email' => ['email:strict,filter,rfc,dns,spoof'],
+'email' => ['email'],
🔥8❤2
🐘 Пых.конф'25
Крупнейшая PHP-конференция для всех от автора одного из крупнейших русскоязычных PHP-сообществ Пых Валентина Удальцова:
400 участников, 28 докладов, 4 зала.
Оффлайн и онлайн формат.
Присоединяйтесь! Встретимся там ✋
https://conf.phpyh.ru
Крупнейшая PHP-конференция для всех от автора одного из крупнейших русскоязычных PHP-сообществ Пых Валентина Удальцова:
400 участников, 28 докладов, 4 зала.
Оффлайн и онлайн формат.
Присоединяйтесь! Встретимся там ✋
https://conf.phpyh.ru
🔥7
Biome - очень шустрый линтер и форматтер для JavaScript, TypeScript, JSX, TSX, JSON, HTML, CSS and GraphQL.
Работает реально быстрее ESlint и Prettier 🙂
https://biomejs.dev
Работает реально быстрее ESlint и Prettier 🙂
https://biomejs.dev
Biome
Format, lint, and more in a fraction of a second.
👍5
📃 Laravel Feeds поможет быстро и легко экспортировать любые объёмы данных в XML файл фидов.
Проект уже вышел на стадию Release Candidate 😎
https://github.com/TheDragonCode/laravel-feeds
Проект уже вышел на стадию Release Candidate 😎
https://github.com/TheDragonCode/laravel-feeds
GitHub
GitHub - TheDragonCode/laravel-feeds: 📃 Laravel Feeds is an easy and fast way to export large amounts of data into feeds for marketplaces…
📃 Laravel Feeds is an easy and fast way to export large amounts of data into feeds for marketplaces and other consumers. - TheDragonCode/laravel-feeds
🔥2
Laravel Feeds Help
Getting started | Laravel Feeds
Overview of Laravel Feeds with quick links to installation and usage
Laravel Feeds получила красивую доку и читается значительно проще портянки в README 🙂
Да, основные файлы конфигураций были скопипащены у https://laravel-lang.com, так что в некоторых местах можно найти отсылки 😅
Все нашли? 😉
https://feeds.dragon-code.pro
Да, основные файлы конфигураций были скопипащены у https://laravel-lang.com, так что в некоторых местах можно найти отсылки 😅
Все нашли? 😉
https://feeds.dragon-code.pro
🔥6
Интересный сайт для быстрого удаления фона с изображений.
Обязательно включите звук кликнув по надписи "Click to enable audio" - это позволит лучше погрузиться в атмосферу происходящего.
бырыбырыбырыбырыбыры (с) 😅
https://tools.dverso.io/bgremove/
Обязательно включите звук кликнув по надписи "Click to enable audio" - это позволит лучше погрузиться в атмосферу происходящего.
бырыбырыбырыбырыбыры (с) 😅
https://tools.dverso.io/bgremove/
nuxt-app
dverso laundry - Background remover on your browser
Remove your background using sentakki-chan laundry services - Remove the background from any image without connecting to any services, locally on your browser with the help of sentakki chan
😁1
Разные изображения для светлой и тёмной тем на markdown страницах GitHub? Легко!
Всего-то нужно использовать фрагменты URL
Например:
Пощупать руками можно здесь 😎
Всего-то нужно использовать фрагменты URL
#gh-light-mode-only
и #gh-dark-mode-only
.Например:


Пощупать руками можно здесь 😎
🔥7
Laravel Feeds Help
Getting started | Laravel Feeds
Overview of Laravel Feeds with quick links to installation and usage
📃 Laravel Feeds вышел в релиз!
Установить зависимость можно через Composer:
🌟 Особенности проекта:
— Разбиение результатов при запросах к БД (chunk)
— Режим черновика в процессе наполнения файла
— Лёгкий маппинг свойств в виде привычного массива
— Поддержка Dependency Injection для всех классов
— Полная кастомизация хедера, футера и рут элемента
— Генерация любых фидов, карт сайтов и т.д.
— Поддержка быстрого создания классов с Laravel Idea
📔 В документации Вы найдёте расширенную информацию по использованию Laravel Feeds.
Также в ней доступен раздел рецептов с готовыми пресетами классов и результатом их выполнения! 😍
Laravel Feeds - это лёгкий и быстрый способ экспортировать большие объёмы данных для маркетплейсов, sitemap и других потребителей.
Установить зависимость можно через Composer:
composer require dragon-code/laravel-feeds
🌟 Особенности проекта:
— Разбиение результатов при запросах к БД (chunk)
— Режим черновика в процессе наполнения файла
— Лёгкий маппинг свойств в виде привычного массива
— Поддержка Dependency Injection для всех классов
— Полная кастомизация хедера, футера и рут элемента
— Генерация любых фидов, карт сайтов и т.д.
— Поддержка быстрого создания классов с Laravel Idea
📔 В документации Вы найдёте расширенную информацию по использованию Laravel Feeds.
Также в ней доступен раздел рецептов с готовыми пресетами классов и результатом их выполнения! 😍
👍7🔥4❤🔥2❤1🤔1
Легаси код сгенерировал XML файл фида за 5 минут.
Laravel Feeds справился за 36 секунд 😎
Тот же объём данных, тот же конечный результат, прирост скорости на 88%.
Измерение времени выполнения производилось бенчмарком с тремя итерациями на каждый фид.
https://feeds.dragon-code.pro
Laravel Feeds справился за 36 секунд 😎
Тот же объём данных, тот же конечный результат, прирост скорости на 88%.
------- -------------- ---------------
# Legacy Dragon Code
------- -------------- ---------------
min 297335.54 ms 36187.14 ms
max 301008.29 ms 37282.62 ms
avg 299113.61 ms 36723.00 ms
------- -------------- ---------------
Order - 2 - - 1 -
------- -------------- ---------------
Измерение времени выполнения производилось бенчмарком с тремя итерациями на каждый фид.
https://feeds.dragon-code.pro
Laravel Feeds Help
Getting started | Laravel Feeds
Overview of Laravel Feeds with quick links to installation and usage
🔥13
Laravel Feeds теперь умеет работать не только с XML форматами фидов, но ещё и с JSON и JSON Lines 😍
Версия 1.5 уже в релизе 🥳
https://feeds.dragon-code.pro
Версия 1.5 уже в релизе 🥳
https://feeds.dragon-code.pro
Laravel Feeds Help
Advanced Usage | Laravel Feeds
Extended use of Laravel Feeds
❤4🔥4
Микро-гайд для тех, кто не в курсе 🙂
Для обновления контейнеров в Docker на свежие версии воспользуйтесь консольными командами:
И всё.
Для обновления контейнеров в Docker на свежие версии воспользуйтесь консольными командами:
docker compose pull
docker compose restart
И всё.
👍3
Laravel Feeds научился экспортировать данные в CSV 🤩
https://feeds.dragon-code.pro/supported-formats.html
https://feeds.dragon-code.pro/supported-formats.html
Laravel Feeds Help
Supported formats | Laravel Feeds
List of supported feed export formats
🔥4
Поздравляю с 256-м днём этого года!
Пусть ваши проекты будут как хороший кофе: крепкими, пробуждающими и с приятным послевкусием. Пусть код всегда запускается без ошибок, жизнь радует новыми возможностями, идеи всегда находят отклик в мире, а проекты расширяют горизонты знаний и возможностей!
Deploy, Comrades! 🎉
Пусть ваши проекты будут как хороший кофе: крепкими, пробуждающими и с приятным послевкусием. Пусть код всегда запускается без ошибок, жизнь радует новыми возможностями, идеи всегда находят отклик в мире, а проекты расширяют горизонты знаний и возможностей!
Deploy, Comrades! 🎉
👍7🎉3
📚 Laravel Feeds приобрёл сразу несколько улучшений в версии 1.8:
- Добавлен фид RSS Atom
- Добавлены пресеты упрощающие создание фидов (Instagram, Yandex, Sitemap, RSS)
- Добавлен
Среди прочего прибрались по коду да убрали из подсказок Laravel Idea технические классы при использовании в конечном приложении (Transformer светился в частности).
- Добавлен фид RSS Atom
- Добавлены пресеты упрощающие создание фидов (Instagram, Yandex, Sitemap, RSS)
- Добавлен
Conditionable
и Macroable
функционал в базовые классы Feed
, FeedInfo
и FeedItem
, расширяющие их возможности.Среди прочего прибрались по коду да убрали из подсказок Laravel Idea технические классы при использовании в конечном приложении (Transformer светился в частности).
Laravel Feeds Help
Supported formats | Laravel Feeds
List of supported feed export formats
👍4🔥3
Laravel Boost - это мощный инструмент по добавлению инструкций для ИИ агентов и одним из его механизмов является MCP сервер.
В рамках одного приложения всё супер - агенты реально лучше подсказывают.
А что делать тем кто разрабатывает библиотеки? В этом случае начинаются пляски с бубном для внедрения MCP.
И решение есть - глобальная установка MCP сервера Лары.
Всё что для этого нужно - это установить Laravel в какую-нибудь папку с зависимостью Boost и добавить глобальный конфиг.
После этого открываем настройки MCP. Например, для AI Assistant и Junie в PhpStorm (см скрины) и добавляем конфиг с путём к файлам.
Всё. С этих пор MCP сервер будет работать во всех проектах и IDE/Editor будут автоматом цепляться к нему.
В рамках одного приложения всё супер - агенты реально лучше подсказывают.
А что делать тем кто разрабатывает библиотеки? В этом случае начинаются пляски с бубном для внедрения MCP.
И решение есть - глобальная установка MCP сервера Лары.
Всё что для этого нужно - это установить Laravel в какую-нибудь папку с зависимостью Boost и добавить глобальный конфиг.
laravel new mcp
cd mcp
composer require laravel/boost --dev
php artisan boost:install
После этого открываем настройки MCP. Например, для AI Assistant и Junie в PhpStorm (см скрины) и добавляем конфиг с путём к файлам.
Всё. С этих пор MCP сервер будет работать во всех проектах и IDE/Editor будут автоматом цепляться к нему.
👍2
Часто используемые способы взаимодействия с релейшенами Laravel и их улучшение
1) Первый
2) Второй
3) Третий
1) Первый
Product::query()
- ->with([
- 'attribute' => fn (Builder $query) => $query->select(['id', 'title'])
- ])
- ->whereHas('attribute');
+ ->withWhereHas('attribute:id,title')
2) Второй
Product::query()
- ->whereHas('attribute', fn (Builder $query) => $query
- ->where('id', $id)
- );
+ ->whereRelation('attribute', 'id', $id)
3) Третий
Product::query()
- ->with([
- 'attribute' => fn (Builder $query) => $query->select(['id', 'title'])
- ])
- ->whereHas('attribute', fn (Builder $query) => $query
- ->where('id', $id)
- );
+ ->with('attribute:id,title')
+ ->whereRelation('attribute', 'id', $id)
❤5👍4🔥2
Пых.Конф’25
Это моя первая конференция за всё время и ожидания были услышать несколько полезных идей, а по факту всё что я там услышал, было полезным. Да, что-то давно лично применяю в работе и считаю полезным это рассказывать тем, кто ещё не знает, что и сделали докладчики, а что-то узнал из того, в каком направлении сам начал двигаться.
Получил новый опыт для себя, поделился своим опытом с другими. Запомнился Анатолий с вопросом по утечкам памяти в Laravel Octane 🙂
Было очень круто до, во время и после конференции 😊
Жаль, что всё закончилось очень быстро. В хорошей компании время летит незаметно 🥲
И уже жду следующей конференции 😎
Отдельное спасибо:
— Валентину Удальцову (@vudaltsov) за организацию и проведение столь классного мероприятия
— Александру Черняеву (@tabuna) за книгу «Денди-код»
— Данилу Шуцкому (@leeto_telegram) за мерч MoonShine
— Владимиру Баркаеву (@Muumba) за гостеприимство
Это моя первая конференция за всё время и ожидания были услышать несколько полезных идей, а по факту всё что я там услышал, было полезным. Да, что-то давно лично применяю в работе и считаю полезным это рассказывать тем, кто ещё не знает, что и сделали докладчики, а что-то узнал из того, в каком направлении сам начал двигаться.
Получил новый опыт для себя, поделился своим опытом с другими. Запомнился Анатолий с вопросом по утечкам памяти в Laravel Octane 🙂
Было очень круто до, во время и после конференции 😊
Жаль, что всё закончилось очень быстро. В хорошей компании время летит незаметно 🥲
И уже жду следующей конференции 😎
Отдельное спасибо:
— Валентину Удальцову (@vudaltsov) за организацию и проведение столь классного мероприятия
— Александру Черняеву (@tabuna) за книгу «Денди-код»
— Данилу Шуцкому (@leeto_telegram) за мерч MoonShine
— Владимиру Баркаеву (@Muumba) за гостеприимство
2🔥9❤6