PHP позволяет вам придумывать собственные протоколы. И почему-то все об этом забывают!
Любой вызов
Знали об этом? Штука довольно продвинутая👀
👉 @PHPgx
Любой вызов
fopen(), fread() или file_get_contents() может работать с ВАШИМ протоколом.db://, s3://, config:// — да вообще с чем угодно.fopen() — это не только про файлы. И никогда не было только про них.Знали об этом? Штука довольно продвинутая
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍14🔥1
php://memory — это поток, который существует в оперативной памяти (RAM).php://temp сначала работает в RAM, но после 2 МБ (настраивается) начинает скидывать данные на диск.Никакого
tmpfile(). Никакой временной директории. Никакой очистки.Отлично подходит для сборки файлов в памяти перед отправкой в PHP.
А ты знал про трюк с
maxmemory:?Please open Telegram to view this post
VIEW IN TELEGRAM
❤17🤔2🔥1
Совет по Laravel для пользователей Boost
После установки стороннего пакета снова запустите команду
👉 @PHPgx
После установки стороннего пакета снова запустите команду
php artisan boost:install, чтобы проверить, не опубликовал ли этот пакет свои guidelines/skills для Boost.Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Новый пакет для Laravel!
https://github.com/sarderiftekhar/pdf-studio
На странице сравнения утверждается, что у пакета больше возможностей, чем у
https://sarderiftekhar.github.io/pdf-studio/compare.html
👉 @PHPgx
sarderiftekhar/pdf-studio: проектируйте, предпросматривайте и генерируйте PDF с использованием HTML и TailwindCSS в Laravelhttps://github.com/sarderiftekhar/pdf-studio
На странице сравнения утверждается, что у пакета больше возможностей, чем у
spatie/laravel-pdf и других альтернатив:https://sarderiftekhar.github.io/pdf-studio/compare.html
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍5
Зарелизили новый Boost-скилл:
Он прокачивает твоего AI-агента более чем 100 отобранными best practices для Laravel — включая Eloquent, кэширование, очереди, аутентификацию и многое другое. Так что он генерит код не просто корректный, а идиоматичный (в духе Laravel).
👉 @PHPgx
laravel-best-practicesОн прокачивает твоего AI-агента более чем 100 отобранными best practices для Laravel — включая Eloquent, кэширование, очереди, аутентификацию и многое другое. Так что он генерит код не просто корректный, а идиоматичный (в духе Laravel).
$ composer update
$ php artisan boost:install
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Знаете ли вы, что можно использовать
Например, можно предотвратить ситуацию, когда администратор отключает свой собственный аккаунт или удаляет последнего активного администратора — прямо на уровне модели, а не только через формы.
👉 @PHPgx
Model::booted(), чтобы выбрасывать ValidationException и блокировать опасные сохранения?Например, можно предотвратить ситуацию, когда администратор отключает свой собственный аккаунт или удаляет последнего активного администратора — прямо на уровне модели, а не только через формы.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Команда внутренних разработчиков PHP проголосовала 38-4 за депрекацию всех объектно-ориентированных конструкций в PHP 9.0.
Причина: LLM допускают на 34% меньше ошибок в процедурных кодовых базах. Принципы SOLID вызывают перегрузку контекста у 78% протестированных моделей.
laravel и symfony оценивают влияние на свои роадмапы. WordPress уже совместим.
Как вы готовите свою кодовую базу?
Правда, всё это оказалось первоапрельской шуткой 😁
👉 @PHPgx
Причина: LLM допускают на 34% меньше ошибок в процедурных кодовых базах. Принципы SOLID вызывают перегрузку контекста у 78% протестированных моделей.
__construct() — основной источник галлюцинаций LLM в PHP.laravel и symfony оценивают влияние на свои роадмапы. WordPress уже совместим.
Как вы готовите свою кодовую базу?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26❤4👀2👎1
Недооценённая фича Laravel
URI-шаблоны в HTTP-клиенте незаслуженно игнорируются. Хватит конкатенировать строки, как будто на дворе 2012-й.
Чисто. Читаемо. Никаких багов, прячущихся в строковой лапше.
Маленькая фича - большой апгрейд.🔥
👉 @PHPgx
URI-шаблоны в HTTP-клиенте незаслуженно игнорируются. Хватит конкатенировать строки, как будто на дворе 2012-й.
Чисто. Читаемо. Никаких багов, прячущихся в строковой лапше.
Маленькая фича - большой апгрейд.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2🌚1
Pest v4.5 вышел
Теперь можно помечать тесты как flaky — Pest будет автоматически перезапускать их перед тем, как зафиксировать падение
Также можно использовать флаг
👉 @PHPgx
Теперь можно помечать тесты как flaky — Pest будет автоматически перезапускать их перед тем, как зафиксировать падение
Также можно использовать флаг
--flaky, чтобы запускать только flaky-тесты.Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Начиная с Laravel 13.4.0, вы можете использовать
Как думаете, вы бы использовали это в своих проектах?
👉 @PHPgx
FormRequest::failOnUnknownFields, чтобы включить выброс ошибок в случае, если в запросе передаются неизвестные поля!Как думаете, вы бы использовали это в своих проектах?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🌚6
Привет, Laravel-разработчики
Одна из распространённых болей у нас как у разработчиков — это возможность быстро и удобно шарить наши API с командой и заказчиками.
Обычно для этого мы используем HTTP-клиенты вроде Postman, Insomnia и т.п., где настраиваем запросы и потом делимся ими.
Но это занимает время…
Недавно я наткнулся на пакет для Laravel —
Лично для меня это стало отличной отправной точкой. Обязательно посмотрите пакет и поделитесь своим мнением или фидбеком.
👉 @PHPgx
Одна из распространённых болей у нас как у разработчиков — это возможность быстро и удобно шарить наши API с командой и заказчиками.
Обычно для этого мы используем HTTP-клиенты вроде Postman, Insomnia и т.п., где настраиваем запросы и потом делимся ими.
Но это занимает время…
Недавно я наткнулся на пакет для Laravel —
andreaselia/laravel-api-to-postman, который позволяет буквально парой команд сгенерировать коллекцию Postman прямо из вашего кодбейза.Лично для меня это стало отличной отправной точкой. Обязательно посмотрите пакет и поделитесь своим мнением или фидбеком.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍4
Новый пакет для Laravel: альтернатива для Telescope, Debugbar и Clockwork
https://github.com/iazaran/trace-replay
Что думаете?
👉 @PHPgx
iazaran/trace-replay: высокоточный трекинг выполнения процессов, детерминированный реплей и отладка с помощью ИИ для Laravelhttps://github.com/iazaran/trace-replay
Что думаете?
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4
Совет по Laravel
Класс Validator в Laravel можно использовать не только в контроллерах.
Вот пример в классе Artisan-команды.
Для сложной валидации вместо кучи if-ов можно использовать Validator
👉 @PHPgx
Класс Validator в Laravel можно использовать не только в контроллерах.
Вот пример в классе Artisan-команды.
Для сложной валидации вместо кучи if-ов можно использовать Validator
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2
Media is too big
VIEW IN TELEGRAM
Как писать, запускать и превьюить Laravel-приложения прямо в браузере
Liminal — это браузерная IDE для Laravel, которая запускает PHP 8.4 полностью через WebAssembly, без необходимости в сервере или локальной установке
→ пишешь, запускаешь и смотришь результат в одном месте
→ встроенный редактор + терминал
→ никаких установок и загрузок
→ легко делиться проектами
https://github.com/aschmelyun/liminal
👉 @PHPgx
Liminal — это браузерная IDE для Laravel, которая запускает PHP 8.4 полностью через WebAssembly, без необходимости в сервере или локальной установке
→ пишешь, запускаешь и смотришь результат в одном месте
→ встроенный редактор + терминал
→ никаких установок и загрузок
→ легко делиться проектами
https://github.com/aschmelyun/liminal
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥5
Файлы переводов в Laravel поддерживают автоматическое изменение регистра через синтаксис
Просто передавайте переменные как обычно – Laravel сам приведёт их к нужному регистру
👉 @PHPgx
:Variable и :VARIABLE в каталоге langПросто передавайте переменные как обычно – Laravel сам приведёт их к нужному регистру
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
This media is not supported in your browser
VIEW IN TELEGRAM
С этой тулзой можно буквально разложить всё Laravel-приложение по полочкам — новый пакет “Lara-Brain” от команды LaraMint превращает проект в интерактивную карту архитектуры.
→ визуализируйте роуты, модели, контроллеры, джобы и события
→ исследуйте, как всё связано между собой
→ просматривайте приложение в виде интерактивных графов и схем
→ лучше понимайте большие кодовые базы на Laravel
https://laramint.dev/
👉 @PHPgx
→ визуализируйте роуты, модели, контроллеры, джобы и события
→ исследуйте, как всё связано между собой
→ просматривайте приложение в виде интерактивных графов и схем
→ лучше понимайте большие кодовые базы на Laravel
https://laramint.dev/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥3
Это правило валидации выглядит достаточно простым ровно до того момента, пока ты (и твои агенты) не попытаешься реализовать его на другом фреймворке.
Laravel по-прежнему GOAT🫡
👉 @PHPgx
Laravel по-прежнему GOAT
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3
Всё ещё вручную сравниваете изменения в Laravel starter kit каждый раз, когда апстрим выкатывает обновления? 😵💫
Добавили новый skill
https://github.com/laravel/agent-skills
👉 @PHPgx
Добавили новый skill
starter-kit-upgrade в Laravel Agent Skills – он помогает безопасно обновлять starter kit, сохраняя все ваши кастомизации приложения.https://github.com/laravel/agent-skills
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Совет по Laravel
У вас есть SQL-дамп из базы данных, и вы хотите превратить его в сидеры Laravel?
Вместо того чтобы вручную конвертировать SQL-операторы
👉 @PHPgx
У вас есть SQL-дамп из базы данных, и вы хотите превратить его в сидеры Laravel?
Вместо того чтобы вручную конвертировать SQL-операторы
INSERT в сидеры Laravel, можно просто выполнить SQL-файл напрямую из сидера с помощью метода DB::unprepared().Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤4