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

Связь: @devmangx
Download Telegram
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
This media is not supported in your browser
VIEW IN TELEGRAM
С этой тулзой можно буквально разложить всё Laravel-приложение по полочкам — новый пакет “Lara-Brain” от команды LaraMint превращает проект в интерактивную карту архитектуры.

→ визуализируйте роуты, модели, контроллеры, джобы и события
→ исследуйте, как всё связано между собой
→ просматривайте приложение в виде интерактивных графов и схем
→ лучше понимайте большие кодовые базы на Laravel

https://laramint.dev/

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥3
Это правило валидации выглядит достаточно простым ровно до того момента, пока ты (и твои агенты) не попытаешься реализовать его на другом фреймворке.

Laravel по-прежнему GOAT 🫡

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍123
Всё ещё вручную сравниваете изменения в Laravel starter kit каждый раз, когда апстрим выкатывает обновления? 😵‍💫

Добавили новый skill starter-kit-upgrade в Laravel Agent Skills – он помогает безопасно обновлять starter kit, сохраняя все ваши кастомизации приложения.

https://github.com/laravel/agent-skills

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

У вас есть SQL-дамп из базы данных, и вы хотите превратить его в сидеры Laravel?

Вместо того чтобы вручную конвертировать SQL-операторы INSERT в сидеры Laravel, можно просто выполнить SQL-файл напрямую из сидера с помощью метода DB::unprepared().

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