PHP Digest
8.53K subscribers
60 photos
3 videos
287 links
PHP Дайджест

Новости, материалы и инструменты из мира PHP — раз в месяц.

Вопросы, замечания, предложения: @pronskiy
Download Telegram
PHP Дайджест № 222 (7 – 21 февраля 2022)

Основное из дайджеста в телеграм-формате:

⚡️НОВОСТИ

🔹
PHP 7.4.28, PHP 8.0.16, PHP 8.1.3

Обновления актуальных веток PHP с фиксом уязвимости в php_filter_float(), а в 8.0 и 8.1 еще с пачкой других фиксов.

Для PHP 7.3 обновления уже не выходят, даже если обнаружены проблемы безопасности. И хотя данной уязвимости PHP 7.3 не подвержена, тем не менее если вы все еще используете эту версию, то лучше запланировать обновление в ближайшее время.


🔹 Ubuntu 22.04 LTS выйдет с PHP 8.1

Очередной релиз популярного Linux дистрибутива выйдет 21 апреля с предустановленным PHP версии 8.1.

В связи с этим предлагается поднять минимальную версию PHP в следующем релизе Symfony 6.1. А для Drupal 10 это уже сделали.


🔹 PhpStorm 2022.1 EAP

Продолжается программа раннего доступа первого мажорного релиза IDE в этом году. Сделали поддержку многострочных и вложенных аннотаций array shape! Можно использовать как в виде PHPDoc, так и в виде атрибута #[ArrayShape].


🔹 [RFC] Redacting parameters in back traces

На голосовании предложение добавить аттрибут #[SensitiveParameter] для предотвращения отображения конфиденциальныx данных в отладочных логах.


🔹 [RFC] Undefined Variable Error Promotion

Автор ранее предложил в PHP 9 перевести многие оставшиеся предупреждения (WARNING) в полноценные исключения. Такое уже раньше делали в PHP 8.0.

Ну а начать решил с использования необъявленных переменных. Сейчас в этом случае бросается Warning и используется значение null.


🔹 [RFC] Allow null and false as stand-alone types

Предлагается добавить возможность использовать null и false в декларациях типов.
Во-первых, это недостающие куски для полноты системы типов в PHP — есть mixed, добавили never, объединения и пересечения, не хватает юнит-типа.
Во-вторых, такие типы позволят покрыть некоторые граничные случаи и улучшить статический анализ.


🔹 Вышел Laravel 9

Есть отличные обзоры:
📺 Короткий видеообзор на русском от CutCode
🇷🇺 9 интересных новшеств в Laravel 9 — В тексте
📺 Laracasts: What's New in Laravel 9 — Подробно на видео


🔹 Shopware получили $100 млн инвестиций от PayPal и Carlyle

Открытая е-commerce платформа на базе Symfony поднимает хорошие деньги, пока кто-то говорит, что PHP мертв. Ранее в 2020 $130 млн получили Spryker — другая e-com платформа на PHP.
Обе компании, кстати, поддерживают фонд PHP.


🌀 РАЗНОЕ

🔸 Brent Roose: Service locator: an anti-pattern

🔸 Как помочь с релизом Yii 3 — Статья Виктора Бабанова из core-команды Yii3 подробно рассказывает как помочь фреймворку кодом, даже если вы никогда раньше этого не делали.

🔸Пых: fromName для enum — Про методы fromName и tryFromName для получения перечисления любого типа по его имени ($name).

--

👉 Больше новостей и ссылок в полном дайджесте на Хабре, а также инструменты и ссылки по фреймворкам.

Дайджест подготовлен совместно с Insolita.

🐘
Друзья, сегодня Юлия Insolita ушла из жизни.

Юля была активным участником нашего PHP-сообщества, помогала со стримами, митапами, конференциями и до последнего дня помогала делать PHP-дайджест.

Последние несколько месяцев Юля боролась с болезнью, но к сожалению победить ее не получилось.
Пусть земля будет Юле пухом.

Друзья, берегите себя и близких, будьте здоровы.
Что дальше с PHP Дайджестом

PHP Дайджест на Хабре я вел 9 лет и 5 месяцев. Вот так выглядел первый выпуск: https://habr.com/ru/company/zfort/blog/153769/

Война в Украине и бомбардировки Харькова, где я жил, сильно поменяли жизнь. Пока писать в прежнем формате нет желания и возможности.

Зато инициативу подхватил Сергей Пантелеев! Все последующие посты на канале PHP Дайджест по умолчанию будут от Сергея. Вот чем занимается Сергей в мире PHP:

🔹 Релиз-менеджер PHP 8.2
🔹 Мейнтейнер русской документации PHP
🔹 Помогает с разработкой сайта thephp.foundation
🔹 Помогает с PHP Annotated
🔹 Один из переводчиков книги Symfony 5: The Fast Track
🔹 Организатор BeerPHP Yaroslavl


Ну а меня можно найти тут:

🔸 Твиттер @pronskiy – пишу только про PHP
🔸 PHP Foundation – в блоге фонда PHP пишу отчеты для спонсоров каждый месяц
🔸 Блог PhpStorm – там выходит PHP Annotated

Всем мира.
Поддержка Laravel 8

В Laravel 8 теперь будут исправления только связанные с безопасностью. Полная поддержка прекратится 24 января 2023 года, рекомендуется обновиться до 9 версии.

#Laravel
Дерик (автор Xdebug) проводит опрос о дальнейшем развитии DateTime:
https://twitter.com/derickr/status/1551611856007069696

Перевод: Сделать класс DateTime изменяемым было одной из самых больших ошибок в API модуля Date/Time.
Я думаю изменить DateTime так, чтобы он был иммутабельным по умолчанию в PHP 9 и отказаться от класса DateTimeImmutable (или сделать псевдонимом).
Вероятно, это сломает чей-то код.
Разработка Yii3, 22-28 июля

Сделали первый стабильный релиз Yii Sentry. В демо API-приложения добавили пример использования очередей Yii Queue. Продолжаем активную работу над валидатором и DB-пакетами и дебаггером.

🎁 Yii Sentry 1.0.0 — интеграция с Sentry, сервисом для сбора и агрегации логов, и другими совместимыми с Sentry API инструментами (например, GlitchTip).

🎁 Yii View 6.0.0
🎁 Yii View Extension 4.0.0
Доработали ViewInterface: добавили метод, позволяющий задать корневую директорию с представлениями, и переименовали *language методы в *locale.

🎁 Yii Mailer Library 4.0.0
🎁 Yii Mailer Symfony Mailer Extension 2.0.0
Добавили метод MailerInterface::withLocale() для установки локали и поддержку 6й версии symfony/mailer.

🎁 Yii Console 1.2.0
Добавили возможность конфигурации команды serve (адрес, порт, корневая директория и точка входа).

🎁 Yii Cache File Handler 2.0.0
Подняли версию PHP до ^8.0, а версию PSR-интерфейсов psr/simple-cache до ^2.0|^3.0.



За подборку спасибо Сергею Предводителеву 💙
Вышел PhpStorm 2022.2 🎉

🔹 Добавлена поддержка Mockery
🔹 Добавлена поддержка Rector
🔹 Улучшена работа с дженериками
🔹 Улучшения UX
🔹 И многое другое!

https://www.jetbrains.com/ru-ru/phpstorm/whatsnew/2022-2/
PHP Core Roundup #4

PHP Core Roundup — серия постов в блоге PHP Foundation об изменениях, улучшениях и новых возможностях PHP от Ayesh Karunaratne — автора PHP.watch

https://thephp.foundation/blog/2022/07/28/php-core-roundup-4/
PHP Foundation Update, July 2022

Вышел ежемесячный отчёт PHP Foundation для спонсоров

https://thephp.foundation/blog/2022/08/04/php-foundation-update-july-2022/
Forwarded from Пых (Валентин Удальцов)
🏫 Мой продвинутый курс по PHP

Я уже пару лет мечтаю о том, чтобы масштабно и комплексно поделиться знаниями, и наконец-то мне представилась возможность записать свой продвинутый курс по PHP! Огромное спасибо Loftschool за предложение посотрудничать!

Осенью мы начнём работу над курсом, а пока приглашаю вас посмотреть мастер-класс про паттерн middleware, который я записал в качестве пролога.

https://youtu.be/yMrbatAM3bw
Разработка Yii3, 29 июля — 4 августа

⚡️Обновления

Yii Debug, Yii Debug API, Yii Debug Viewer
• Добавлена возможность исключать консольные команды из отслеживания.
• Реализован сбор информации об очередях.
• Реализована базовая версия инспектора приложения. Сейчас инспектор позволяет посмотреть конфигурации объектов контейнера и параметры конфигурации приложения, но в дальнейшем планируется расширить его возможности (просмотр дампа любого объекта из контейнера, просмотр конфигурации окружений, запуск консольных утилит psalm, phpunit, deptrac и т. д.)

Yii Cycle ORM
• Ветка с поддержкой Cycle ORM 2 стала основной.
• Добавлена поддержка psr/simple-cache версий ^2.0 и ^3.0.
• Добавлен генератор, обрабатывающий наследование таблиц.

Демо веб-приложения
• В LocaleMiddleware добавлена поддержка HTTP (ранее корректно работало только с HTTPS).
• Улучшен вывод консольной команды router/list.

Демо API-приложения
• Добавлен дебаггер.


Новые пакеты

yiisoft/app-console — шаблон для консольного приложения.


🎁 Релизы

Yii Console 1.3.0
• Событие запуска приложения теперь может содержать имя запускаемой консольной команды.

Yii Console Runner 1.1.0
• Реализована передача имени запускаемой команды в событие запуска приложения.

Yii Runner 1.2.0
• Объект с конфигурацией контейнера добавлен в сам контейнер. Это потребовалось для реализации инспектора в дебаггере.

Yii Swagger 1.2.2
• Добавлена поддержка yiisoft/cache версии ^2.0.


Сводка подготовлена по информации канала «Хроники Yii3».
PHP Annotated – Август 2022

Вышел августовский выпуск PHP Annotated от JetBrains с самыми интересными событиями, произошедшими в мире PHP за последний месяц.

https://blog.jetbrains.com/phpstorm/2022/08/php-annotated-august-2022/
Дайджест PHP – Сентябрь 2022

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

⚡️ НОВОСТИ

🔹 Вышел PHP 8.2 RC 3

Очередная версия RC была выпущена по расписанию. RC4 – ожидается 13 октября.

Подробно про все изменения в PHP 8.2 можно прочитать на сайтах PHP.Watch или stitcher.io.

🔹 Вышли PHP 7.4.32, PHP 8.0.24 и PHP 8.1.11

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

🔹 Доступен PhpStorm 2022.3 EAP!

Вот что вы уже можете попробовать в рамках программы раннего доступа PhpStorm:
- Новой интерфейс (пока в бета-режиме, но доступен всем по опции в настройках)
- Полная поддержка PHP 8.2
- Предварительный просмотр быстрых исправлений
- И многое другое

🐘 ЯДРО PHP

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

📊 RFC: json_validate #PHP 8.3

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

🤔 RFC: Improve unserialize() error handling #PHP 8.3

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

🤔 RFC: StreamWrapper Support for glob() #PHP 8.3

Timmy Almroth предлагает реализовать в StreamWrappers поддержку функции glob().

🔹RFC: Deprecations for PHP 8.3

RFC со списком того, что предлагается объявить устаревшими в PHP 8.3 и удалить в PHP 9.

🛠 ИНСТРУМЕНТЫ

🔹play.phpsandbox.io – Попробуйте пакеты Composer прямо в браузере, ничего не устанавливая.

🔹cspray/annotated-container – Dependency Injection framework для конфигурирования контейнера PSR-11 с атрибутами.

🔹openai-php/client – Клиент для API OpenAI.
Существует также orhanerday/open-ai, если вам нужна альтернатива для доступа к API OpenAI GPT-3.

⚫️ SYMFONY

🔹Вышел symfony/webpack-encore 4.0.0. Некоторые зависимости (например, webpack) были перенесены из Encore в проект.

🔹StenopePHP/Stenope – Инструмент создания статических веб-сайтов для Symfony. Вы можете создать полноценное приложение Symfony, а затем развернуть его в виде статической страницы в любом удобном для вас месте.

🔴 LARAVEL

🔹ksassnowski/venture 4.0.0 – Пакет для создания и управления сложными асинхронными рабочими процессами в приложениях Laravel.

🔹spatie/laravel-model-info – Пакет для получения информации обо всех моделях.

🔹YorCreative/Laravel-Scrubber – Пакет для очистки конфиденциальной информации, нарушающей политики операционной безопасности, от случайной или неслучайной утечки разработчиками. Подробнее об использовании.

👨‍🏫 Laracon Online – Видеозаписи всех докладов с онлайн конференции по Laravel.
Тейлор представил Laravel Bootcamp – новый обучающий сайт по Laravel.

🟢 ДРУГИЕ ФРЕЙМВОРКИ

🔹Вышел spiral/framework 3.0.0 – Большое обновление фреймворка от создателей RoadRunner.

🔹Вышел Phalcon PHP Framework 5.0 – Подробный список нововведений приведён в документации.

🔹Вышел api-platform/api-platform 3.0 – Фреймворк построен поверх Symfony и позволяет создавать REST и GraphQL API и многое другое.

🔹Appwrite 1.0 – Крупный стабильный выпуск решения с открытым исходным кодом backend-as-a-service.

🔹Вышли обновления пакетов Yii Strings 2.1.0, Yii Middleware Dispatcher 3.0.0, Yii Profiler 2.0.0, Yii Message Translator 1.1.1, Yii Cache File Handler 2.0.1.
Более подробно новости Yii освещаются в канале «Хроники Yii3».

📄 СТАТЬИ

🔹Как мы решаем проблемы со склонением слов для задач seo-оптимизации с помощью phpMorphy от Александра Корабельникова.

🔹PHP: атрибуты vs аннотации: оптимизируем метадату Doctrine от Романа Ушакова.

🔹Выходя за рамки ООП. Разработка расширений для PHP на PHP от Александра Макарова.



Ещё больше новостей и ссылок в сентябрьском выпуске PHP Annotated от JetBrains 💜

🎬 Дайджест PHP в видео-формате на канале CutCode
Forwarded from Пых (Валентин Удальцов)
#[<T>] Дженерики через атрибуты

Роман Пронский в своём блоге предлагает реализовать стираемые дженерики путём расширения синтаксиса атрибутов.

Ход мысли такой. Сейчас мы описываем общие типы для Psalm и PHPStan в phpdoc-ах, то есть, по сути, и используем стираемые дженерики, только с не особо стандартизованным синтаксисом и в комментариях, КАРЛ. А ещё у нас есть атрибуты — синтаксис в PHP, предназначенный для метаинформации. Так почему бы нам не объединить две эти вещи? Так как атрибуты в текущем виде слабо подходят для типизации, Рома предлагает расширить их синтаксис, в частности, разрешить ставить атрибуты над выражениями и перед типом возвращаемого значения.

https://pronskiy.com/blog/generics-via-attributes-in-php/

Я считаю, что это интересный альтернативный взгляд на дженерики в PHP, но с ним связано несколько проблем:

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

2. Инстанциированные атрибуты можно получить только через рефлексию. Рефлексия — это рантайм и автолоадинг. Статанализ же в идеале вообще не должен запускать анализируемый код. Именно поэтому появились такие проекты, как PHP Parser и Better Reflection. Если же обновлённые атрибуты будут использоваться только как синтаксис, то нет смысла их называть атрибутами.

3. Приведенную в статье декларацию атрибута-дженерика над выражением вообще не получится отрефлексировать, поскольку для выражений по определению невозможна рефлексия. Из-за этого синтаксис дженериков может быть реализован только на уровне языка.

Получается, что замаскированные под атрибуты дженерики технически не смогут ими быть. Ну а в таком случае проще реализовать стираемые дженерики с привычным синтаксисом array<string, object>. Если же по каким-то техническим причинам необходимо оборачивать декларации в #[], то пусть это просто будут дженерики с таким синтаксисом.

Что касается самой концепции стираемых дженериков, я её однозначно поддерживаю. Да, такой подход требует наличия внешнего анализатора, но взамен даёт стандартизированный синтаксис, нативный парсинг кода с дженериками и популяризацию обобщённого программирования среди PHP-разработчиков.

Я очень рад, что Рома в очередной раз подогрел дискуссию вокруг дженериков. Любой подобный движ полезен для сообщества и приближает нас к результату.
Дайджест PHP – Октябрь 2022

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

⚡️ НОВОСТИ

🔹 Вышел PHP 8.2 RC 5

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

Подробно про все изменения в PHP 8.2 можно прочитать на сайтах PHP.Watch или stitcher.io.

🔹 Вышли PHP 8.0.25 и PHP 8.1.12

❗️Это выпуски с исправлением проблем безопасности. Всем пользователям рекомендуется обновиться. Подробнее на сайте PHP.Watch.

🐘 ЯДРО PHP

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

RFC: json_validate

RFC принят, новую функцию json_validate() добавят в PHP 8.3.

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, которые реализуют часто используемые операции, но сложно реализуемые в пользовательском коде.

📣 RFC: Destructuring Coalesce

Bob Weinand предложил добавить оператор для значений по умолчанию в деструктивных присваиваниях.

🛠 ИНСТРУМЕНТЫ

🔹dunglas/frankenphp – Современный сервер приложений PHP, написанный на Go.

🔹Saeghe – Современный менеджер пакетов PHP. Теперь у PHP есть ещё один менеджер пакетов, он использует GitHub ссылки в качестве зависимостей.

🔹composer-unused/composer-unused – Пакет показывает неиспользуемые зависимости composer.

🔹heiglandreas/holidayChecker – Пакет для проверки праздничных дней.

🔹mevdschee/php-crud-api - Однофайловый PHP-скрипт, добавляющий REST API к базе данных SQL.

🔹Laragon - Ещё один инструмент локальной среды разработки: портативная, изолированная, быстрая и мощная альтернатива XAMPP и подобным. Подробнее об использовании.

⚫️ SYMFONY

❗️ Twig security release: Possibility to load a template outside a configured directory when using the filesystem loader от Fabien Potencier.

🔹emr-dev/sf-bug-bundle – Пакет для совместного использования страниц профилировщика. Подробнее об использовании.

🔴 LARAVEL

🔹spatie/laravel-dynamic-servers – Пакет для динамического создания и удаления серверов. Подробнее об использовании.

🔹creagia/laravel-sign-pad – Пакет для подписания документов и, по желанию, генерации PDF, связанных с моделями Eloquent. Подробнее об использовании.

🔹hammerstonedev/sidecar – Развертывание и выполнение функций AWS Lambda в Laravel.

📄 СТАТЬИ

🔹Цветные функции: ищем плохие архитектурные паттерны от Александра Кирсанова.

🔹Перестаньте использовать SQLite в Unit-тестах перевод статьи от Вадима Кравец.

🔹Yii3 Overview 1. Вступление от Дмитрия Дерепко.

🔹Декомпозируем регулярные выражения от Юрия Каткова.

🎬 ВИДЕО

🔹Пыхэфир #2 c Валентином Удальцовым.

🔹PHP-линч #1 – Первый в мире PHP-линч на канале PHP Point.

🔹RND PHP #5 – Митап сообщества PHP разработчиков города Ростов-на-Дону.

👨‍💻 СОБЫТИЯ

🔹PHP Russia – Крупнейшая конференция по PHP в России пройдёт 24-25 ноября в рамках HighLoad++ 2022.

🔹Podlodka PHP Crew – Недельная конференция с экспертами из топовых компаний — сессии в Zoom, сообщество в Slack и ламповая атмосфера.



Ещё больше новостей и ссылок в октябрьском выпуске PHP Annotated от JetBrains 💜

🎬 Дайджест PHP в видео-формате на канале CutCode
Дайджест PHP – Ноябрь 2022

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

⚡️ НОВОСТИ

🔹 Вышел PHP 8.2 RC 7

В этом году добавлена ещё одна, седьмая RC-версия, выход PHP 8.2.0 GA откладывается до 8 декабря.

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

Завершение цикла PHP 7

Для PHP 7.4 больше не будут выходить обновления, релиз PHP 7.4.33 стал последним, рекомендуется обновиться до поддерживаемой версии.

🔹 Вышли PHP 8.0.26 и PHP 8.1.13

🐛 Это выпуски с исправлением ошибок.

🎂 PHP Foundation исполнился 1 год

Год назад компания JetBrains опубликовала новость о создании PHP Foundation.

За прошедший год PHP Foundation поддержал работу 6 разработчиков ядра и ежемесячно публиковал обновления в серии PHP Core Roundup.

Ознакомьтесь с отчетом фонда за 2022 год.

Поддержать PHP Foundation можно на OpenCollective.

Принят PSR-20: Clock

🔹 Группа PHP-FIG приняла PSR-20 с рекомендуемым интерфейсом ClockInterface для работы с датой и временем.

🐘 ЯДРО PHP

RFC: Randomizer Additions

RFC: Destructuring Coalesce

📣 RFC: Dynamic class constant fetch

Ilija Tovilo предложил добавить синтаксис для поиска констант класса.

📣 RFC: Arbitrary static variable initializers

Также Ilija Tovilo предлагает расширить синтаксис, позволяющий инициализатору статической переменной содержать произвольные выражения.

📣 RFC: Use exceptions by default in SQLite3 extension

Предлагается постепенно отказаться от предупреждений в модуле SQLite3.

📣 RFC: Readonly amendments

Nicolas Grekas и Máté Kocsis предлагают улучшить свойства и классы readonly.

🛠 PhpStorm

🔹 AMA с командой PhpStorm

🔹 Вышел PhpStorm 2022.3 RC – Полная поддержка PHP 8.2, новый пользовательский интерфейс (предварительный просмотр), поддержка Redis и многое другое.

🔹 VKCOM/modulite – Честная модульность внутри PHP.

🔴 LARAVEL

🎬 AMA About Laravel with Taylor Otwell

🔹 Как мы провели второй русскоязычный Laravel-митап от Михаила Радионова.

🔹 protonemedia/laravel-splade – Пакет для создания интерактивности непосредственно в Blade, без необходимости писать JS-код.

🟢 Yii

🔹 Новости Yii 2022, выпуск 2 от Александра Макарова.

🔹 Yii3 Overview 2. Вспомогательные инструменты разработки от Дмитрия Дерепко.

📄 СТАТЬИ

🔹 Как мы наш большой проект на KPHP мигрировали от Алексея Васильева.

🔹 KPHP спустя 2 года от Александра Кирсанова.

🔹 Старый код в новой обёртке — как наша команда избавлялась от legacy от Станислава Решетнева.

🎬 ВИДЕО

🔹 На Ютуб канале PHP Point вышли новые выпуски PHP-линча, где Валентин Удальцов разбирает несколько пакетов и комментирует код.



🎬 Дайджест PHP в видео-формате на канале CutCode
Please open Telegram to view this post
VIEW IN TELEGRAM
Вышел PHP 8.2 🎉

PHP 8.2 — большое обновление языка PHP.

Оно содержит множество новых возможностей, включая readonly-классы, самостоятельные типы null, false и true, устаревшие динамические свойства, улучшение производительности и многое другое.

https://www.php.net/releases/8.2/ru.php
Дайджест PHP – Январь 2023

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

⚡️ НОВОСТИ

🔹 Вышли PHP 8.0.27, PHP 8.1.14, PHP 8.2.1

В этих версиях исправлена ошибка безопасности.

Завершилась активная поддержка PHP 8.0, теперь версия будет получать только секьюрити-обновления.

🛠 What’s Next in PhpStorm: The 2023.1 Public Roadmap

В первом выпуске 2023 года команда JetBrains стремится повысить производительность и ускорить индексирование, добавить интеграцию с 3v4l.org, улучшить поддержку дженериков, а также тегов PHPStan и Psalm.

🔹 Вышел Symfony 6.2

Улучшенная поддержка Emoji, аутентификатор Access Token, встроенные атрибуты Cache+Security+Template+Doctrine, улучшенная поддержка перечислений и многое другое.
Ознакомьтесь со списком новых возможностей, чтобы узнать об основных особенностях этого нового выпуска.

🔹Вышли Psalm 5, Xdebug 3.2.0, PHPStan 1.9.0, Drupal 10, amphp/amp 3.0.0, PHP-DI 7.0

🐘 ЯДРО PHP

RFC: Dynamic class constant fetch

RFC: More Appropriate Date/Time Exceptions

📊 RFC: Asymmetric Visibility

📣 RFC: List\unique() and Assoc\unique()
Ilija Tovilo предложил добавить две новые функции. Основная проблема в том, что функция array_unique использует нестрогое сравнение, новые фунции будут использовать строгое сравнение, первая — отбрасывая ключи, а вторая — сохраняя их.

📣 RFC: Unicode Text Processing
Derick Rethans предложил новый класс, чтобы использовать и обрабатывать текст (Unicode) более удобным для разработчиков способом по сравнению с модулем intl.
Все методы нового класса Text будут возвращать новый (неизменяемый) объект.

📣 RFC: Add SameSite cookie attribute parameter
George Peter Banyard предлагает добавить параметр SameSite во все соответствующие функции.

🔹 18 функций/изменений для улучшения ядра PHP
Thomas Hruska реализовал cubiclesoft/php-ext-qolfuncs – набор функций для улучшения жизни PHP-разработчика.
Сради них есть несколько довольно интересных дополнений: str_splice(), str_realloc(), fread_mem(), is_reference() и refcount().
С нетерпением ждём появления официального RFC.

📄 СТАТЬИ

🔹 Вышел PHP 8.2: разбираем главные изменения – Александр Макаров, Валентин Удальцов и Владлен Гилязетдинов разбираются, какие новые фичи появились в PHP 8.2, насколько эти изменения глобальны и какую роль в них сыграл проект РHP Foundation.

🔹 Откуда что берется: интеграция с ЕСИА на языке PHP

🔹 Как мы интегрировали и настроили для работы Conventional Commits в PHPStorm

🔹 Честные модули внутри PHP: теперь они существуют и запись доклада с HighLoad++

🔹 Популяризация JSON-RPC (часть 1)

🔹 Работа с Веб-сокетами на PHP

🔹 В очередь, ...! Как управлять состоянием системы через события

🔹 Зачем и как использовать Объекты передачи данных в Laravel

🎬 ВИДЕО

🔹 ID-баттл: UUID vs автоинкремент

🔹 Docker for PHP developer: tips and tricks

🔹 PHP: почему его вечно хоронят, актуально ли его учить и чем он полезен бизнесу



🎬 Дайджест PHP в видео-формате на канале CutCode

Ещё больше новостей и ссылок в январском выпуске PHP Annotated от JetBrains 💜
Please open Telegram to view this post
VIEW IN TELEGRAM