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

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

Вопросы, замечания, предложения: @pronskiy
Download Telegram
Большой стрим по PHP, 27 февраля, суббота

https://habr.com/ru/company/skyeng/blog/542070/

Подводим итоги опроса вместе с кучей ребят из сообщества:
Дмитрий Елисеев (ElisDN)
Петр Мязин (Пятиминутка PHP)
Роман Пронский (PHP Даджест)
Валентин Удальцов (Пых)
Александр Макаров (Yii)
Антон Околелов (Цинковый Прод)
Николай Пучко (PHP Today)
Константин Буркалёв (SDCast)
Сергей Жук (Между скобок)
Антон Титов (SpiralScout)
и спешл гест стар Никита Попов!

В программе доклады от Антона Жукова (ManyChat) и Ильи Левина (Skyeng), обсуждения, розыгрыши призов.

.
Как защититься от Dependency Confusion в PHP

На прошлой неделе была нашумевшая статья, в которой автор рассказал, как использовал npm (Javascript), pip (Python) и gem (Ruby), чтобы заставить компании установить и запустить в своей инфраструктуре зловредный код.

Авторы Composer, Джорди и Нильс, написали о том, как защититься от подобного:

https://habr.com/ru/company/vdsina/blog/542598/

Также есть утилитка https://github.com/visma-prodsec/confused, которая проверяет безопасны ли имена внутренних пакетов или любой желающий может зарегистрировать их.
!HYPE OVERLOAD! 
Пробуем формат обсуждений в Clubhouse

Среда, 19:30 МСК

https://www.joinclubhouse.com/event/ma4lpZXL
PHP Дайджест № 199

Прогресс в PHP 8.1: будет enum, еще два принятых, два отклоненных и три новых RFC предложения. WordPress используется на 40% сайтов. Почему нужно убрать strict_types, почему не стоит использовать empty(), а также инструменты, видео, статьи, подкасты, и PHP Дайджест Live в 20:00 МСК.

https://habr.com/ru/post/543628/
PHP 8 и развитие языка в 30 вопросах и ответах

В конце ноября мы провели стрим с Никитой Поповым и Дмитрием Стоговым, ключевыми контрибьюторами ядра PHP. За полчаса мы получили 100+ вопросов и ребята не успели ответить на все. Поэтому я сгруппировал оставшиеся сообщения по темам, отсеял совсем специфические и собрал ответы в текстовом виде. Все острые и холиварные вопросы оставил.

https://habr.com/ru/company/skyeng/blog/543794/
Оператор new в инициализаторах

https://wiki.php.net/rfc/new_in_initializers

Не прошло и недели после стрима, как Никита Попов опубликовал обещанный RFC, разрешающий использовать new в инициализаторах.

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

Интересно, что в рамках этого предложения атрибуты тоже получат право использовать объекты. В частности, это позволит оформлять атрибутами композитные констрейнты Symfony Validator (#38503).

https://github.com/php/php-src/pull/6746

// Автор заметки: Валентин Удальцов, канал Пых.
PHP Дайджест № 200

После небольшого перерыва возвращаемся с обзором новостей и ссылок из мира PHP!

Предложения для PHP 8.1: объекты в инициализаторах, неймспейсы для расширений, жаркое голосование по файберам, новый тип noreturn от авторов Psalm и PHPStan.

+ релизы, инструменты, видео, статьи, подкасты и PHP Дайджест Live с Валентином Удальцовым в 20:00 МСК.

https://habr.com/ru/post/547158/
PHP Digest
Fibers — асинхронному PHP быть? https://wiki.php.net/rfc/fibers Мейнтенер Amphp опубликовал RFC по файберам и обновленное расширение с реализацией amphp/ext-fiber. Проблема асинхронного кода в текущем виде с ReactPHP и Amp в том, что весь код должен быть…
Файберы будут в PHP 8.1

С результатом 50 "за" и 14 "против" голосование завершено и предложение принято.

Значит ли это, что в PHP 8.1 будет асинхронность из коробки?
Нет. Для асинхронных штук все еще надо будет использовать ReactPHP, Amp или подобные решения. Но использовать асинхронный код, и особенно интегрировать асинхронные блоки в традиционный код, будет намного легче.

Вот пост от одного из ментейнеров ReactPHP с подробным объяснением того, что дают принятые файберы в PHP.
https://clue.engineering/2021/fibers-in-php
PHP Дайджест № 201

Все про файберы и асинхронный PHP, а также новые лямбды, пересечения типов и другие предложения для PHP 8.1. Ближайшие мероприятия, инструменты, видео, статьи, подкасты.

https://habr.com/ru/post/549462/
💥 Всем привет! Сегодня у нас спецвыпуск.💥
💥 Новости действительно сенсационные! 💥

Бэкдор в PHP оказался Никитой Поповым
Не дождавшись принятия RFC https://wiki.php.net/rfc/nikita_popov, Никита сам смержил себя в ядро. Никто не заметил разницы.

В PHP 8.2 будут дженерики
Хоть RFC и находится на ранней стадии рассмотрения, но доподлинно известно, что для темплейт-аргументов будет использоваться специальный синтаксис с тегами /* и */.

Зеев Зуравски решил воскресить P++
Собрана новая команда и делается форк PHP. Кроме разработчиков нужен дизайнер, который придумает нового маскота вместо слоника.

Symfony откажется от DI контейнера и переходит на Service Locator
Потому что пробрасывать зависимости между слоями слишком сложно и надо переманить к себе пользователей Yii и Laravel.

Laravel объявил о сотрудничестве с Brazzers
Лысые пожали руки. Новая компания будет называться Brazzavel. Логотип появится во всех работах студии и будет фигурировать на всех сайтах, сделанных с помощью фреймворка.

PhpStorm будет писать 100% кода за вас
Для этого надо будет только дождаться пока все проиндексируется и выучить горячие клавиши.

PHP Russia перенесли на 2030 год, а заодно сменили локацию
Конференция пройдёт в Шанхае. Выступят представители Tencent и Alibaba. Всем настоятельно рекомендуется выучить китайский. Время ещё есть.

Вышла новая версия Битрикс с поддержкой PHP 4.3
Это позволит запускать его на предприятиях, где политика безопасности запрещает обновлять PHP. Ура обратной совместимости!

Yii3 решили переписать на Golang
Разработка секретно велась параллельно с версией на PHP. Ведёт проект Qiang Xue, изначальный автор Yii. Проект носит кодовое имя Ozzo. Уже готовы роутиниг, DI, слой для доступа к базам данных и валидатор.

// Disclaimer: в этот раз Роман Пронский решил отдохнуть и поручил написание новостей GPT-3 и членам ПК PHP Russia.
[RFC] Новый тип – noreturn

Стартовало голосование по предложению от авторов Psalm и PHPStan — добавить новый тип в PHP: noreturn / never.

Это пустой нижний (bottom) тип и является подтипом всех других типов. Подобный есть в Python, Rust, Kotlin, TypeScript.

Такой тип указывает на то, что функция либо всегда бросает исключение либо завершает выполнение, то есть вызывает exit(), die(), trigger_error().

На голосование также вынесен вопрос как назвать тип: noreturn (как в Python) или never (TypeScript, Rust).

https://wiki.php.net/rfc/noreturn_type
Видеозапись митапа PHP NN #4

В программе два доклада:

06:10 Денис Юрьев — Метания ядра или как переделать Symfony-проект в целое направление

1:05:10 Валентин Удальцов — Как структурировать код, чтобы не получить большой ком грязи

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