PHP Portal | Программирование
4.92K subscribers
403 photos
20 videos
2 files
206 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для PHP-разработчика

Связь: @devmangx
Download Telegram
Новый инструмент для Laravel!
(но написан на Go)

Eljakani/ward — security-сканер для Laravel-проектов. Выявляет ошибки конфигурации, уязвимости и утёкшие секреты. Оснащён удобным TUI-интерфейсом.

https://github.com/Eljakani/ward

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Новое в v1.6.0 официального Laravel-расширения для VS Code:

Интеграция со встроенным test runner в VS Code!

Теперь тесты отображаются в боковой панели Test Explorer, и запускать их можно прямо из Command Palette. Работает и с Pest, и с PHPUnit 👍

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43
Совет по Laravel

Работаешь с мультиязычным проектом и хочешь проверить, что нигде не пропущены переводы?

Я видел для этого отдельные пакеты, но на самом деле всё можно сделать прямо в тесте на Pest.

Вот метод теста, который мне подсказал Claude Code. Довольно умно, да?

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9👎5🔥1🌚1
PHP позволяет вам придумывать собственные протоколы. И почему-то все об этом забывают!

Любой вызов fopen(), fread() или file_get_contents() может работать с ВАШИМ протоколом.

db://, s3://, config:// — да вообще с чем угодно.

fopen() — это не только про файлы. И никогда не было только про них.

Знали об этом? Штука довольно продвинутая 👀

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍14🔥1
php://memory — это поток, который существует в оперативной памяти (RAM).

php://temp сначала работает в RAM, но после 2 МБ (настраивается) начинает скидывать данные на диск.

Никакого tmpfile(). Никакой временной директории. Никакой очистки.

Отлично подходит для сборки файлов в памяти перед отправкой в PHP.

А ты знал про трюк с maxmemory:?

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
17🤔2🔥1
Совет по Laravel для пользователей Boost

После установки стороннего пакета снова запустите команду php artisan boost:install, чтобы проверить, не опубликовал ли этот пакет свои guidelines/skills для Boost.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Новый пакет для Laravel!

sarderiftekhar/pdf-studio: проектируйте, предпросматривайте и генерируйте PDF с использованием HTML и TailwindCSS в Laravel
https://github.com/sarderiftekhar/pdf-studio

На странице сравнения утверждается, что у пакета больше возможностей, чем у spatie/laravel-pdf и других альтернатив:
https://sarderiftekhar.github.io/pdf-studio/compare.html

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
8👍5
Зарелизили новый Boost-скилл: laravel-best-practices

Он прокачивает твоего AI-агента более чем 100 отобранными best practices для Laravel — включая Eloquent, кэширование, очереди, аутентификацию и многое другое. Так что он генерит код не просто корректный, а идиоматичный (в духе Laravel).

$ composer update
$ php artisan boost:install


👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
6
Знаете ли вы, что можно использовать Model::booted(), чтобы выбрасывать ValidationException и блокировать опасные сохранения?

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

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
5
Команда внутренних разработчиков PHP проголосовала 38-4 за депрекацию всех объектно-ориентированных конструкций в PHP 9.0.

Причина: LLM допускают на 34% меньше ошибок в процедурных кодовых базах. Принципы SOLID вызывают перегрузку контекста у 78% протестированных моделей. __construct() — основной источник галлюцинаций LLM в PHP.

laravel и symfony оценивают влияние на свои роадмапы. WordPress уже совместим.

Как вы готовите свою кодовую базу?

Правда, всё это оказалось первоапрельской шуткой 😁

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
😁264👀2👎1
Недооценённая фича Laravel

URI-шаблоны в HTTP-клиенте незаслуженно игнорируются. Хватит конкатенировать строки, как будто на дворе 2012-й.

Чисто. Читаемо. Никаких багов, прячущихся в строковой лапше.

Маленькая фича - большой апгрейд. 🔥

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102🌚1
Pest v4.5 вышел

Теперь можно помечать тесты как flaky — Pest будет автоматически перезапускать их перед тем, как зафиксировать падение

Также можно использовать флаг --flaky, чтобы запускать только flaky-тесты.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Начиная с Laravel 13.4.0, вы можете использовать FormRequest::failOnUnknownFields, чтобы включить выброс ошибок в случае, если в запросе передаются неизвестные поля!

Как думаете, вы бы использовали это в своих проектах?

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
8🌚6
Привет, Laravel-разработчики

Одна из распространённых болей у нас как у разработчиков — это возможность быстро и удобно шарить наши API с командой и заказчиками.

Обычно для этого мы используем HTTP-клиенты вроде Postman, Insomnia и т.п., где настраиваем запросы и потом делимся ими.

Но это занимает время…

Недавно я наткнулся на пакет для Laravel — andreaselia/laravel-api-to-postman, который позволяет буквально парой команд сгенерировать коллекцию Postman прямо из вашего кодбейза.

Лично для меня это стало отличной отправной точкой. Обязательно посмотрите пакет и поделитесь своим мнением или фидбеком.

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍4
Новый пакет для Laravel: альтернатива для Telescope, Debugbar и Clockwork

iazaran/trace-replay: высокоточный трекинг выполнения процессов, детерминированный реплей и отладка с помощью ИИ для Laravel
https://github.com/iazaran/trace-replay

Что думаете?

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64
Совет по Laravel

Класс Validator в Laravel можно использовать не только в контроллерах.

Вот пример в классе Artisan-команды.

Для сложной валидации вместо кучи if-ов можно использовать Validator

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82
Media is too big
VIEW IN TELEGRAM
Как писать, запускать и превьюить Laravel-приложения прямо в браузере

Liminal — это браузерная IDE для Laravel, которая запускает PHP 8.4 полностью через WebAssembly, без необходимости в сервере или локальной установке

→ пишешь, запускаешь и смотришь результат в одном месте
→ встроенный редактор + терминал
→ никаких установок и загрузок
→ легко делиться проектами

https://github.com/aschmelyun/liminal

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥5
Файлы переводов в Laravel поддерживают автоматическое изменение регистра через синтаксис :Variable и :VARIABLE в каталоге lang

Просто передавайте переменные как обычно – Laravel сам приведёт их к нужному регистру

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
6