TGViewer
Channel Public Channel
PHP Portal | Программирование

PHP Portal | Программирование

@phpgx

Присоединяйтесь к нашему каналу и погрузитесь в мир для PHP-разработчика

Связь: @devmangx
Subscribers
4.65K
Photos
426
Videos
20
Links
212

Showing posts older than #689 · Back to latest

Older Posts 19 shown
Post #687 1.88K
Нашёл полезный пакет для Laravel!

sunchayn/nimbus — встроенный API-клиент для Laravel, работающий прямо в браузере.
https://github.com/sunchayn/nimbus

Автоматически анализирует ваши маршруты и правила валидации, чтобы генерировать интерактивные схемы запросов и предоставлять нативный интерфейс для тестирования, исследования и отладки API

👉 @PHPgx
  • ❤ 7
Post #686 1.98K
Масштабирование Laravel не обязательно означает переписывание всего приложения.

Обычно достаточно найти и устранить узкие места: медленные SQL-запросы, отсутствующие индексы, перегруженные очереди и другие проблемы производительности.

В этом руководстве Olamilekan показывает, как подготовить Laravel к работе под высокой нагрузкой в production-среде с помощью Redis, очередей, оптимизации базы данных и инструментов наблюдаемости (observability).

Статья: https://freecodecamp.org/news/how-to-scale-laravel-applications-for-high-traffic-production-systems/

👉 @PHPgx
  • ❤ 6
  • 😁 2
  • 🔥 1
Post #684 2.13K
Привет, Laravel-разработчики

Начиная с Laravel v13.15.0, во фасаде Cache появился новый метод rememberWithState().

По сути, этот метод выполняет две задачи.

Сначала он проверяет, существует ли указанный ключ в кеше. Если ключ найден, метод просто возвращает сохранённое значение. Если же ключ отсутствует, выполняется переданный callback, а результат сохраняется в кеше под этим ключом.

Это полностью соответствует поведению уже существующего метода remember().

Однако у rememberWithState() есть дополнительная возможность: помимо значения он также возвращает булево состояние (true или false), которое показывает, было ли значение уже в кеше или оно было сгенерировано только что.

Одним из основных сценариев использования может быть отправка клиенту кастомного HTTP-заголовка с информацией о состоянии кеша (cache hit/cache miss). Это позволяет явно указать, был ли ответ получен из кеша или сформирован заново.

👉 @PHPgx
  • ❤ 12
Post #683 2.26K
Совет по Laravel

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

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

👉 @PHPgx
  • 🔥 17
  • ❤ 5
  • 🌚 1
Post #681 2.75K
Всё ещё вручную сравниваете изменения в Laravel starter kit каждый раз, когда апстрим выкатывает обновления? 😵‍💫

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

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

👉 @PHPgx
  • ❤ 6
Post #679 2.3K
Это правило валидации выглядит достаточно простым ровно до того момента, пока ты (и твои агенты) не попытаешься реализовать его на другом фреймворке.

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

👉 @PHPgx
  • 👍 15
  • ❤ 4
Post #678 2.78K
С этой тулзой можно буквально разложить всё Laravel-приложение по полочкам — новый пакет “Lara-Brain” от команды LaraMint превращает проект в интерактивную карту архитектуры.

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

https://laramint.dev/

👉 @PHPgx
  • 👍 9
  • ❤ 3
  • 🔥 3
Post #676 2.13K
Файлы переводов в Laravel поддерживают автоматическое изменение регистра через синтаксис :Variable и :VARIABLE в каталоге lang

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

👉 @PHPgx
  • ❤ 7
Post #675 2.66K
Как писать, запускать и превьюить Laravel-приложения прямо в браузере

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

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

https://github.com/aschmelyun/liminal

👉 @PHPgx
  • ❤ 8
  • 🔥 5
Post #674 2.5K
Совет по Laravel

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

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

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

👉 @PHPgx
  • 👍 8
  • ❤ 3
Post #671 2.23K
Новый пакет для Laravel: альтернатива для Telescope, Debugbar и Clockwork

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

Что думаете?

👉 @PHPgx
  • 👍 6
  • ❤ 4
Post #670 2.25K
Привет, Laravel-разработчики

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

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

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

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

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

👉 @PHPgx
  • ❤ 15
  • 👍 4
Post #669 1.87K
Начиная с Laravel 13.4.0, вы можете использовать FormRequest::failOnUnknownFields, чтобы включить выброс ошибок в случае, если в запросе передаются неизвестные поля!

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

👉 @PHPgx
  • ❤ 9
  • 🌚 6
Post #667 2.03K
Pest v4.5 вышел

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

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

👉 @PHPgx
  • ❤ 4
Post #666 2.74K
Недооценённая фича Laravel

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

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

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

👉 @PHPgx
  • 👍 10
  • ❤ 3
  • 🌚 1
Post #664 2.15K
Команда внутренних разработчиков PHP проголосовала 38-4 за депрекацию всех объектно-ориентированных конструкций в PHP 9.0.

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

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

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

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

👉 @PHPgx
  • 😁 28
  • ❤ 4
  • 👀 2
  • 👎 1
Post #662 2.41K
Знаете ли вы, что можно использовать Model::booted(), чтобы выбрасывать ValidationException и блокировать опасные сохранения?

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

👉 @PHPgx
  • ❤ 5
Post #660 2.24K
Зарелизили новый Boost-скилл: laravel-best-practices

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

$ composer update
$ php artisan boost:install


👉 @PHPgx
  • ❤ 7
Post #659 2.86K
Новый пакет для 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
  • ❤ 9
  • 👍 5
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →