Октябрь 2022

Октябрь 2022

Подборка свежих новостей, инструментов, видео и материалов из мира PHP.

Приятного чтения!

Новости

Вышел PHP 8.2.0 RC 5

Очередной релиз-кандидат вышел по расписанию. Шестой релиз-кандидат ожидается 10 ноября и он станет последним перед публичным выпуском PHP 8.2.

Ознакомьтесь с тем, что появится в PHP 8.2 на сайте PHP.Watch или stitcher.io.

Вышли PHP 8.0.25 и PHP 8.1.12

❗ Это выпуски безопасности для поддерживаемых в настоящее время веток. Всем пользователям рекомендуется обновиться.

Обновления устраняют уязвимости в модуле Phar и целостности cookie. Более подробную информацию вы можете почитать на PHP.Watch.

PHP Core

Большинство новостей ядра PHP подробно освещаются в серии PHP Core Roundup от PHP Foundation, мы лишь быстро по ним пробежимся:

RFC: json_validate

Juan Carlos Morales предложил добавить новую функцию json_validate(), которая проверяет, содержит ли строка корректный JSON. Это сэкономит память, когда не нужно полностью разбирать строку, а достаточно проверить, является ли она JSON.

1var_dump(json_validate('{ "test": { "foo": "bar" } }')); // bool(true)
2var_dump(json_validate('{ "": "": "" } }')); // bool(false)

❌ ✅ RFC: Improve unserialize() error handling

Tim Düsterhus предлагал добавить новое исключение UnserializationFailedException, которое выбрасывается в случае возникновения ошибки сериализации.

RFC бурно обсуждался в Twitter и в конце концов часть, касающаяся выбрасывания исключения, не была принята. Вместо этого будет увеличен уровень выдаваемой ошибки с E_NOTICE до E_WARNING.

📣 RFC: Randomizer Additions

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}

📣 RFC: Destructuring Coalesce

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.

Symfony

Laravel

Статьи

Видео

  • Пыхэфир #2 c Валентином Удальцовым.
  • PHP-линч #1 – Первый в мире PHP-линч на канале PHP Point.
  • RND PHP #5 – Митап сообщества PHP разработчиков города Ростов-на-Дону.

События

  • PHP Russia – Крупнейшая конференция по PHP в России пройдёт 24-25 ноября в рамках HighLoad++ 2022.
  • Podlodka PHP Crew – Недельная конференция с экспертами из топовых компаний — сессии в Zoom, сообщество в Slack и ламповая атмосфера.
Сергей Пантелеев
Релиз-менеджер PHP 8.2
Роман Пронский
Администратор PHP Foundation
Краткий дайджест в нашем Telegram
Ещё больше новостей в блоге компании JetBrains
PHP-дайджест в видео формате на канале CutCode
Рассылка PHP-дайджестов
Подпишитесь на рассылку, чтобы не пропустить новый выпуск

Нажимая «Подписаться» я даю согласие на обработку персональных данных.

Мы заботимся о ваших данных и не будем злоупотреблять доверием.