PHP Дайджест № 220 (10 – 24 января 2022)

Картинка Vincent Pontier.

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

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

Этот дайджест подготовлен совместно с Insolita. Если понравился выпуск, плюсаните пост, пожалуйста.

⚡️ Новости




? Инструменты




Symfony




Laravel




? Статьи




? Сообщество





Подписывайтесь на Telegram-канал PHP Digest.

Этот дайджест подготовлен совместно с Insolita. Если вам понравился выпуск, подпишитесь на Юлию в твиттере и поставьте плюс в пост, пожалуйста.


Заметили ошибку или опечатку? Сообщите в личку хабра или телеграм.

Прислать ссылку можно через форму или просто напишите мне в телеграм.
Поиск ссылок по всем дайджестам
Предыдущий выпуск: PHP-Дайджест № 219

@pronskiy
24.01.2022 18:38 UTC
Первоисточник

Комментарии

@mnogokotin
24.01.2022 15:18 UTC
0

годно )

@SerafimArts
24.01.2022 16:37 UTC
+13
[Disussion] Trait expects interface

Это уже было в симпсонах есть в Psalm.

*Где-то радуется один Валентин* =)


Но если без шуток, то да, есть. Но psalm, во-первых, очень часто глючит на сложных конструкциях и поддерживать level 1, обмазавшись всеми кастомными типами — это боль. Во-вторых, отстаёт от трендов и какая-нибудь конструкция с кастом к анонимке $fun(...) может просто вывести его из строя (кажется уже починили, но всё же), а array_values([...$iter]) до сих пор хайлайтится, т.к. считает что распаковка без ключей работает (это просто что я сходу вспомнил). И, в-третьих, является вспомогательным декларативным инструментом, на который не все обращают внимание.


Так что перенос этой штуки из псалма на уровень языка несёт несколько профитов:


  • Будет почти гарантированная поддержка в IDE.
  • Сам язык зафаталится и скажет, что трейт Х — часть типа, а не просто набор функций.
  • Раз у нас уже есть трейты, и от них никуда не деться, то их начнут реже применять неправильно (а потом плеваться от них) и они станут альтернативной реализацией дефолтных методов у интерфейсов (я про которые из джавы).
  • Ну и это не аффектит скорость выполнения, т.к. линковка — стадия компиляции, а не интерпретации.
@Insolita
24.01.2022 17:01 UTC
+2

Мне идея очень понравилась, слежу за дискуссией

@QeqReh
25.01.2022 06:15 UTC
+1

Доступ к приватным свойствам в PHP — Вместо рефлексии и доступа через Closure::bind еще можно преобразовать к массиву и это будет даже быстрее.

Можно, но это не значит что так надо делать на продуктовом коде.

@stur
25.01.2022 09:45 UTC
-1

по WordPress ни одной новости, а между тем там скоро обновление :))

@Maksclub
26.01.2022 16:45 UTC
+1

Значит скоро и новость будет

@POPSuL
25.01.2022 10:43 UTC
-1

Эххх, жаль что перегрузку операторов зарежектили :(

@Stalinko
26.01.2022 10:44 UTC
0

Открыл статью про Laravel 9. Первая фраза: "Laravel 9 вышла 8 февраля 2022 года". Задумался... Даже календарь перепроверил.

@ILDAR_BAHTIGOZIN
31.01.2022 08:06 UTC
0

статья из будущего )

@Ukrainsky
31.01.2022 19:43 UTC
0

Хотелось бы, что бы фонд нашел ресурсы на написание хоть какой-нибудь поверхностной документации к этой биг папочке https://github.com/php/php-src/tree/master/Zend, а также заставил писать людей доку к новым RFC.

Я вот загорелся написать аттрибут для параметров метода: просидел 2-3 ночи, единственное, что удалось - это написать класс аттрибута. Я так понял у структуры параметра нет ссылки на аттрибуты.

Вообщем, привлекательность разработки ядра - такая себе.