Подборка свежих новостей, инструментов, видео и материалов из мира PHP.
Приятного чтения!
Очередной релиз-кандидат вышел по расписанию. Шестой релиз-кандидат ожидается 10 ноября и он станет последним перед публичным выпуском PHP 8.2.
Ознакомьтесь с тем, что появится в PHP 8.2 на сайте PHP.Watch или stitcher.io.
❗ Это выпуски безопасности для поддерживаемых в настоящее время веток. Всем пользователям рекомендуется обновиться.
Обновления устраняют уязвимости в модуле Phar и целостности cookie. Более подробную информацию вы можете почитать на PHP.Watch.
Большинство новостей ядра PHP подробно освещаются в серии PHP Core Roundup от PHP Foundation, мы лишь быстро по ним пробежимся:
Juan Carlos Morales предложил добавить новую функцию json_validate(), которая проверяет, содержит ли строка корректный
JSON. Это сэкономит память, когда не нужно полностью разбирать строку, а достаточно проверить, является ли она JSON.
1var_dump(json_validate('{ "test": { "foo": "bar" } }')); // bool(true)2var_dump(json_validate('{ "": "": "" } }')); // bool(false)
Tim Düsterhus предлагал добавить новое исключение UnserializationFailedException, которое выбрасывается в случае
возникновения ошибки сериализации.
RFC бурно обсуждался в Twitter и в конце концов часть,
касающаяся выбрасывания исключения, не была принята. Вместо этого будет увеличен уровень выдаваемой ошибки с E_NOTICE
до E_WARNING.
Tim Düsterhus и Joshua Rüsweg предлагают добавить новые методы классу Randomizer, которые реализуют часто используемые
операции, но сложно реализуемые в пользовательском коде.
1namespace Random;2 3final class Randomizer {4 // […]5 public function getBytesFromAlphabet(string $alphabet, int $length): string {}6 public function nextFloat(): float {}7 public function getFloat(float $min, float $max): float {}8}
Bob Weinand предложил добавить оператор для значений по умолчанию в деструктивных присваиваниях.
1$input = 'key=value';2[$key, $val ?? 'default value'] = explode('=', $input, 2);
dunglas/frankenphp – Современный сервер приложений на PHP, написанный на языке Go и встроенный в веб-сервер Caddy.
cachewerk/relay – Клиент Redis, подобный PhpRedis и Predis, но гораздо более быстрый, поскольку написан как модуль PHP. Авторы также предоставляют интеграцию с Laravel, WordPress и Magento для кеширования.
Saeghe – современный менеджер пакетов PHP.
Теперь у PHP есть ещё один менеджер пакетов! Он использует ссылки GitHub в качестве зависимостей. Кроме того, он не полагается на PSR-автозагрузку, вместо этого полагаясь на этап сборки.
Конкуренция всегда полезна!
composer-unused/composer-unused – Пакет, который сканирует код для выявления неиспользуемых зависимостей композитора.
square/pjson – Библиотека помогает десериализовать JSON в реальные объекты пользовательских классов. Для этого она использует атрибуты PHP 8 для свойств классов.
doctrine/collections – Популярная библиотека коллекций, которая получила большое обновление, добавив более строгую типизацию и собственные типы параметров и возвращаемых значений.
heiglandreas/holidayChecker – Пакет позволяет проверить, является ли заданная дата праздничной и ориентирован на местные условия.
Laragon – Ещё один инструмент локальной среды разработки – портативная, изолированная, быстрая и мощная альтернатива XAMPP и подобным решениям. Узнайте больше в этом посте на PHP.Watch.
gacela-project/gacela – Пакет помогает создавать модульные PHP-приложения, разделяя ваш проект на различные модули в едином порядке. В значительной степени вдохновлен Spryker.
emr-dev/sf-bug-bundle – Пакет для совместного использования страниц профилировщика. Подробнее об использовании.
Нажимая «Подписаться» я даю согласие на обработку персональных данных.
Мы заботимся о ваших данных и не будем злоупотреблять доверием.