Size: a a a

2021 February 24
PHP Digest
PHP 8 и развитие языка в 30 вопросах и ответах

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

https://habr.com/ru/company/skyeng/blog/543794/
источник
2021 February 25
PHP Digest
Как обновиться на PHP 8.0

Отличное руководство по обновлению от Пятиминутки PHP.

https://5minphp.ru/episode86/
источник
2021 February 27
PHP Digest
Стрим закончился, доступна запись

https://www.youtube.com/watch?v=6JF2U39J4RYhttps://www.youtube.com/watch?v=6JF2U39J4RY
источник
2021 March 04
PHP Digest
Оператор new в инициализаторах

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

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

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

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

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

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

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

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

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

https://habr.com/ru/post/547158/
источник
PHP Digest
источник
2021 March 24
PHP Digest
phpdigest
Fibers — асинхронному PHP быть?

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

Мейнтенер Amphp опубликовал RFC по файберам и обновленное расширение с реализацией amphp/ext-fiber.

Проблема асинхронного кода в текущем виде с ReactPHP и Amp в том, что весь код должен быть асинхронным: либо нужно прокидывать yield либо Promise по всей цепочке вызовов.

Файберы решают эту проблему. Это как генераторы, то есть можно прерывать выполнение функций, но файберы не загрязняют стек вызовов и не надо добавлять yield на каждом уровне.

Можно представить файбер как функцию, которая сама хранит в себе стек вызовов и которую можно остановить или продолжить в любой момент.

Предлагается добавить класс Fiber и интерфейс FiberScheduler. Последний это, по сути, ивент луп. Его реализация в PHP 8.1 не предлагается и остается в планах на будущее.

То есть глобально это пока не меняет картину асинхронного PHP: стандартная библиотека все равно блокирующая.

Зато появится официальный стандарт ивент лупа, а разработчики пакетов типа ReactPHP и Amp смогут писать асинхронные обертки проще и быстрее. И использовать их будет приятнее. В общем, хороший первый шаг в направлении.

Примеры тут: https://github.com/amphp/ext-fiber/tree/master/examples

Вероятность принятия: высокая.

______
Спасибо https://github.com/mmasiukevich за ревью текста.
https://github.com/mmasiukevich за ревью текста.
Файберы будут в PHP 8.1

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

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

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

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

https://habr.com/ru/post/549462/
источник
PHP Digest
PHP Дайджест Стрим #201

https://www.youtube.com/watch?v=HHyv4AObhm0
источник
2021 April 01
PHP Digest
💥 Всем привет! Сегодня у нас спецвыпуск.💥
💥 Новости действительно сенсационные! 💥

Бэкдор в 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.
источник
2021 April 02
PHP Digest
[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 Digest
Поддерживаете ли вы добавление нового типа noreturn / never?
Анонимный опрос
41%
Да, с названием noreturn
20%
Да, с названием never
39%
Нет
Проголосовало: 2252
источник
2021 April 14
PHP Digest
источник
2021 April 24
PHP Digest
Видеозапись митапа PHP NN #4

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

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

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

https://www.youtube.com/watch?v=SycSx0Qp3eg
источник
2021 April 30
PHP Digest
PHP Дайджест № 202 (1 – 30 апреля 2021)

В PHP 8. будет новый тип never, на обсуждении частичные функции, PHP доступен на Google Cloud Functions, о взломе git.php.net, Laravel Octane, инструменты, видео, подкасты, статьи.

https://habr.com/ru/post/555242/
источник
2021 May 15
PHP Digest
Видео PHP-митапа из Казани
 
https://www.youtube.com/watch?v=8Cfz_39fbfU

Трансляция закончилась, вот ссылки на доклады с таймкодами:
 
04:12 Превращаем PHP-скрипты в статические бинарники — Искандер Шарипов, ВКонтакте
58:59 Как писать тесты, чтобы больше радоваться — Иван Филатов, Skyeng
2:35:51 ООП и трейты, чтоб их — Адель Файзрахманов, Laravel Idea
3:34:35 Внедряем DevOps без Docker и Kubernetes — Сергей Шамбир, iSpring
4:30:04 Как микросервисы на Go рождаются из PHP-монолита — Егор Пересада, FindMyKids
источник
2021 May 17
PHP Digest
PHP Дайджест № 203 (1 – 17 мая 2021)

Аксессоры свойств, пересечения типов и финальные константы официально предложены для PHP 8.1, и еще два RFC уже приняты. Также в выпуске порция инструментов, видео, подкасты, статьи, новости сообщества.

https://habr.com/ru/post/557828/
источник
2021 May 31
PHP Digest
PHP Дайджест № 204 (17 – 31 мая 2021)

В эти две недели core команда PHP активно обсуждала предложение по Partial function Application и в качестве альтернативы Никита Попов предложил более простой синтаксис для получения ссылки на любые функции. Также в уже принятые в PHP 8.1 енумы предлагается добавить статические свойства.

Symfony 6 будет требовать PHP 8.0, а вышедшая Doctrine 2.9 поддерживает указание метаданных в атрибутах вместо PHPDoc.

Еще в выпуске классная статья про регекспы и инструкция по использованию Deployer, а также другие полезные статьи, пачка инструментов, немного видео и подкастов.

https://habr.com/ru/post/560158/
источник
2021 June 09
PHP Digest
PHP Дайджест Стрим

Внезапный стрим на канале PHP Point провел Валентин Удальцов!

https://www.youtube.com/watch?v=DYNbjSTjwPk
источник
2021 June 15
PHP Digest
PHP Дайджест № 205 (1 – 15 июня 2021)

Первая альфа PHP 8.1.0, Composer 2.1, Symfony 5.3 и другие релизы. Обзор новых предложений для PHP 8.1: Partial Function Application, pipe оператор, readonly свойства. А также порция полезных инструментов, статьи, видео и подкасты.

https://habr.com/ru/post/562718/
источник