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

Связь: @devmangx
Download Telegram
Нашел для вас шпаргалку, чтобы не путались

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
😁363
Это не задокументировано, но в Laravel можно подписаться на событие MessageSending и предотвратить отправку письма, если выполняется определённое условие.

Это очень полезно, если нужно реализовать блоклист — например, чтобы не отправлять письма на адреса, которые ранее дали bounce в SES, и таким образом сохранить репутацию отправителя.

Можно изменить email «на лету» и убрать из него адреса, попавшие в блоклист. Если после этого не остаётся ни одного адреса для отправки, достаточно вернуть false — письмо будет тихо отброшено и не уйдёт

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍6
Совет по Laravel: хватит писать кастомную логику повторных попыток для нестабильных API

Используйте Http::retry() — он автоматически повторяет неудачные запросы с экспоненциальной задержкой между попытками.

Ссылка на документацию: https://laravel.com/docs/12.x/http-client#retries

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍165🔥1
strlen() vs mb_strlen(): Почему 71% PHP-разработчиков ошибаются

В этой статье разберем, как PHP работает со строками и почему даже простой вызов strlen() может привести к неожиданным результатам.

На примере крайне простой задачи "что выведет echo strlen('привет!');" посмотрим, что и как влияет на подсчет длины строки, заглянем внутрь реализации strlen() и развенчаем миф о строках как массивах.

https://habr.com/ru/articles/919192/

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163
Удобный шпаргалка с самыми полезными константами языка PHP

От DIR до UPLOAD_ERR_NO_FILE — всё аккуратно сгруппировано и готово к версии 8.4

Сохраняйте. Используйте. Делитесь

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114🤔2🔥1
Совет по Laravel

Делаешь несколько API-запросов? Не отправляй их по очереди!

Вместо этого используй Http::pool() — он позволяет запускать запросы параллельно и прокачать производительность, выполнив их все одновременно.

Ссылка на документацию: https://laravel.com/docs/12.x/http-client#concurrent-requests

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍10🔥6
Совет по PHP

Вы можете проверять файлы на синтаксические ошибки без запуска кода — и валидировать весь проект одной командой.

🔹 Быстрая проверка на ошибки
🔹 Валидация проекта в одну строку

Чище код — быстрее разработка

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍128
Очередной годный сайт для прокачки навыков SQL-запросов

На платформе вам предстоит решать задачи, используя базу данных больницы. Задачи разделены по уровням сложности, начиная с простых запросов с SELECT и постепенно переходя к более сложным

Есть подсказки и возможность получить готовый запрос, если застряли 👍

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍107🔥1🎉1
Как использовать сервисные классы в контроллере Laravel?

А точнее — где их определять или внедрять?

Моё правило:

🔹Если сервис используется в одном методе контроллера — внедрение в метод

🔹Если в нескольких методах — внедрение через конструктор с использованием property promotion

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍5
PHP-разработчики, пишущие на JavaScript, после того как у них челюсть отвисает от того, что аналогичный функционал не идет из коробки в JS. 🤣

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10👍41
Храни уведомления в базе данных, чтобы построить систему in-app уведомлений.

Добавь 'database' в метод via(), и Laravel автоматически сохранит данные уведомления в формате JSON.

Документация: https://laravel.com/docs/12.x/notifications#database-notifications

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍2
Вот как нужно писать на PHP

Инструменты для современного PHP сейчас реально на хорошем уровне. А значит, писать на PHP можно куда лучше, чем ты, возможно, думаешь.

Вдохновившись докладом Нуно Мадуро про современные PHP-инструменты, автор занялся обновлением своего стартового набора Fission, чтобы убедиться, что использует всё самое актуальное из того, что предлагает PHP для разработки.

И это полностью изменило его подход к написанию кода на PHP. Он нашёл идеальный стек инструментов.

https://www.youtube.com/watch?v=qkG2ybcmpZc

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75
Теперь вы можете запускать Laravel-приложения напрямую внутри Node.js.

Платформа Platformatic анонсировала решение, которое объединяет PHP и JavaScript в едином рантайме. Это открывает новые горизонты для full-stack разработки и избавляет от необходимости поддерживать раздельные инфраструктуры для PHP и Node.js.

Новое решение под названием Platformatic PHP stackable позволяет запускать Laravel-приложения внутри Node.js-рантайма Watt. Ключевым компонентом является @platformatic/php-node — нативный модуль на Rust, который внедряет многопоточный PHP-интерпретатор прямо в Node.js

Это создает высокопроизводительный мост, позволяя вашему Laravel-приложению запускаться как stackable-модуль внутри Watt. Это снижает задержки и даёт массу преимуществ:

Единый деплой: PHP и Node.js-сервисы работают в одном рантайме.
Общие ресурсы: Оптимизация использования ресурсов и снижение затрат на инфраструктуру.
Плавная миграция: Постепенный перенос легаси-приложений на JavaScript.
Polyglot-архитектура: Используйте PHP и JS вместе в микросервисной архитектуре.

Начать просто — всего пара шагов по конфигурации, и ваше существующее Laravel-приложение будет работать в окружении Node.js.

В блоге Platformatic уже опубликовано подробное руководство по запуску

Репозиторий на GitHub:
https://github.com/platformatic/watt-next-laravel

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
5👎2🤔2
Нужно выполнить поиск по нескольким столбцам с одним и тем же условием?

Используй методы whereAny(), whereAll() или whereNone() вместо написания множества условий с OR или AND. Код станет гораздо чище и понятнее!

Документация: https://laravel.com/docs/12.x/queries#where-any-all-none-clauses

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍166
Как заставить ИИ писать код по стилю

Нашёл оптимизированные для ИИ гайдлайны, специально отформатированные для Claude Code и аналогичных инструментов. Это позволяет генерировать код в соответствии со стандартами Laravel и PHP от Spatie.

Файл с гайдлайнами, адаптированными под ИИ, можно посмотреть здесь: https://spatie.be/guidelines/ai

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

@FreelanceFastTrackerBot

Телеграм бот, который облегчает жизнь фрилансерам в поиске заказов сразу на 3 биржах:
- kwork
- fl
- freelance

🧠 без категорий, часто они криво работают, ML - лучше.
подходит и 🅾️отклонить - кнопки для обучения бота.
Обучается только под Ваши интересы.

🔍 уже на старте НЕ присылает 80-90% нерелевантных задач из 1000 в сутки.

🎲 после 1000+ реакций присылает только 5-10% малоподходящих задач, пытаясь не упустить интересующие задачи.

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

@FreelanceFastTrackerBot

🚀🚀🚀🚀🚀
🔥31
Новое в Laravel 12.21 на этой неделе:

Теперь при запуске php artisan db:seed будет отображаться время выполнения.

Ранее Laravel показывал это только при запуске с указанием конкретного сидера через --class=SomeSeeder.

Ссылка на PR:
https://github.com/laravel/framework/pull/56310

👉 @PHPgx
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥2🌚1