Перейти к содержимому
Технологии IT обновлён 31.10.2024

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

PHP Portal: ваш путь в мир PHP-разработки

Ищете место, где можно развиваться в PHP-разработке? Тогда наш канал — то, что нужно. Присоединяйтесь и получайте актуальные материалы, советы от экспертов и возможность общаться с коллегами. Станьте частью сообщества PHP-разработчиков! #PHP #разработка #портал #обучение #опыт #знания

Публикации канала

Совет по Laravel. Данные, добавленные через Context::add(), передаются вместе с запросом ПОВСЮДУ. Они автоматически добавляются к каждой записи в логах и передаются во все задачи, отправляемые в очередь. Достаточно один раз задать ID тенанта в middleware, а затем получить его внутри задачи. 👉 @PHPgx

Открыть в Telegram

Gemini Pro Argon на 1.5 года по цене кофе? Gemini Pro на 18 месяцев можно купить за 6$ (480₽ вместо 30.000₽) - последние 2 дня акции от Jio! > 4.0 Argon топ для вайбкодеров > Nano Banana 2 PRO (картинки) > Видео генерация (видео, нарезки, мувики) > 5 ТБ облака в Google One 🔓Вот бесплатный VPN для работы Gemini и AI Работает акция еще 2 дня по такой цене, дальше будет официальная цена $360 за 18 месяцев Приобрести можно в Магазине с 20.000+ покупок и 2000+ отзывов (есть возвраты и замены).

Открыть в Telegram

Forwarded From IT Portal PHP выпустил исправления для двух ранее раскрытых уязвимостей, позволяющих злоумышленникам удалённо выполнять код на серверах без аутентификации. «Полноценных способов защиты, кроме установки обновлений, не существует. Обновление — единственный безопасный вариант» , — заявили разработчики PHP. Необходимо как можно скорее обновиться до PHP 8.5.12, 8.4.27, 8.3.36 или 8.2.35. По словам разработчиков, наибольшему риску подвержены серверы Apache с модулем mod_php. Уже продемонстрирован эксплойт, позволяющий выполнить атаку ещё до начала выполнения кода приложения. Для PHP 8.1 и более ранних версий официальные обновления не предусмотрены. Однако разработчики опубликовали исправления исходного кода, адаптированные для PHP 7.4, 8.0 и 8.1. https://www.php.net/archive/2026.php#2026-10-21-5 @IT_Portal

Открыть в Telegram

Forwarded From InfoSec Portal Критическая уязвимость в PHP, которая может стать одной из самых серьёзных в истории! Готовьтесь обновлять свои серверы уже сегодня. В 17:00 по московскому времени должен выйти срочный патч, устраняющий две крайне опасные уязвимости. Они потенциально позволяют злоумышленникам удалённо выполнять код на серверах. Хуже всего то, что проблема затрагивает версии PHP с 5-й по 8-ю. В сети уже распространяется предполагаемый эксплойт, поэтому не исключено, что патч выпустят раньше запланированного срока. Если вы используете собственный или арендованный сервер с PHP, WordPress или аналогичными системами, обязательно установите обновление. Судя по сообщениям, одной из первых временных мер защиты может стать отключение отслеживания прогресса загрузки файлов: session.upload_progress.enabled = Off Это позволит частично снизить риск, но не устранит саму уязвимость. Единственным полноценным решением станет обновление PHP сразу после выхода патча. 👉 @cybersecinform Video is too big

Открыть в Telegram

Совет по PHP file_exists() возвращает true не только для файлов, но и для директорий. Поэтому, если имя файла пустое, путь указывает на папку, и проверка существования изображения успешно проходит. Используйте is_file(), когда нужно проверить существование именно файла. 👉 @PHPgx

Открыть в Telegram

Новый пакет для Laravel sajjadhossainshohag/laravel-lang-cache — ускоряет загрузку переводов в Laravel за счёт кеширования, аналогично конфигурации и маршрутам. С OPcache загрузка может быть до 1600 раз быстрее. https://github.com/sajjadhossainshohag/laravel-lang-cache 👉 @PHPgx

Открыть в Telegram

Совет по Laravel Все исходящие HTTP-ответы можно обрабатывать в одном месте с помощью Http::globalResponseMiddleware(). Этот middleware срабатывает для каждого запроса, который делает HTTP-клиент, независимо от того, где он вызывается в приложении. Удобно для логирования или сбора метрик - не нужно менять ни один отдельный вызов. 👉 @PHPgx

Открыть в Telegram

Laravel tip Нужно получить все записи, кроме последних 5? skip() сам по себе игнорируется, если после него нет take(). Передайте take(PHP_INT_MAX) — и получите offset без реального ограничения по количеству записей. Удобно для очистки старой истории. 👉 @PHPgx

Открыть в Telegram

В Laravel 13.30 появился удобный метод для Collection Использовали chunkWhile(), чтобы просто сгруппировать подряд идущие элементы с одинаковым значением? Теперь это проще делать через chunkBy(). И в отличие от groupBy(), он сохраняет отдельные чанки, если то же значение встречается снова позже. Использовали такой паттерн раньше? 👉 @PHPgx

Открыть в Telegram

PHP-совет В числовых литералах можно использовать подчёркивания, чтобы визуально группировать цифры. Пишите 1_000_000 вместо 1000000 - так значение легче читать и не приходится считать нули. PHP убирает подчёркивания на этапе компиляции, поэтому само число остаётся точно таким же 👉 @PHPgx

Открыть в Telegram

TypePHP вышел в open source раньше запланированного 🎉 Изначально релиз исходников был намечен на октябрь, но проект уже доступен на GitHub. Если тема интересна - стоит заглянуть. https://github.com/swoole/typephp 👉 @PHPgx

Открыть в Telegram

Совет по Laravel DB::transaction() принимает второй аргумент – сколько раз повторно выполнить весь callback, если база вернула deadlock Передайте его по имени – attempts: 3, и Laravel попробует выполнить транзакцию до 3 раз вместо того, чтобы сразу завалить запрос 👉 @PHPgx

Открыть в Telegram

Полезный пакет для Laravel! MiranSalehi/mksine — основа CMS на Laravel + Filament 5: визуальный page builder, устанавливаемые плагины и темы, хуки, меню, медиабиблиотека, настройки, переводы и отдельная консоль Super Admin. Это Composer-пакет для создания контентных сайтов и расширяемых админок без необходимости форкать Laravel. https://github.com/miransalehi/mksine 👉 @PHPgx

Открыть в Telegram

Разработчики на Laravel, Image API стал ещё лучше в Laravel 13.24. Теперь доминирующий цвет изображения можно определить с помощью dominantColor(). Также добавлена поддержка HEIC и дополнительных форматов AVIF, что упрощает работу с изображениями с современных устройств. 👉 @PHPgx

Открыть в Telegram

PHP-совет Знали, что дефолтный объект можно создать прямо в параметре конструктора? 👉 @PHPgx

Открыть в Telegram

Совет по PHP Перечисляйте в match() все варианты enum и не добавляйте ветку default. Если позже кто-то добавит новый вариант и забудет обновить match(), PHP выбросит UnhandledMatchError, а не молча пропустит его. Так отсутствующий вариант невозможно будет проигнорировать. 👉 @PHPgx

Открыть в Telegram

Разработчики на Laravel, теперь тесты валидации email:dns больше не должны зависеть от реального DNS. В Laravel 13.22 добавили возможность подменять DNS-запросы во время валидации. Можно точно задать, какие DNS-записи должны возвращаться, и сделать тесты предсказуемыми - без внешних DNS-запросов. 👉 @PHPgx

Открыть в Telegram

Комментарии

0

Комментарии пишут вошедшие — так видно, кто автор.

Войти

Комментариев пока нет

Будьте первым, кто расскажет о канале другим.

Пожаловаться на канал

Расскажите, что не так: модератор проверит канал и примет решение. Подпись не нужна, но почту можно оставить — тогда ответим.

Причина Что не так (необязательно) Почта для ответа (необязательно)
Открыть в Telegram