Комментарии 10
годно )
[Disussion] Trait expects interface
…
Это ужебыло в симпсонахесть в Psalm.
*Где-то радуется один Валентин* =)
Но если без шуток, то да, есть. Но psalm, во-первых, очень часто глючит на сложных конструкциях и поддерживать level 1, обмазавшись всеми кастомными типами — это боль. Во-вторых, отстаёт от трендов и какая-нибудь конструкция с кастом к анонимке $fun(...)
может просто вывести его из строя (кажется уже починили, но всё же), а array_values([...$iter])
до сих пор хайлайтится, т.к. считает что распаковка без ключей работает (это просто что я сходу вспомнил). И, в-третьих, является вспомогательным декларативным инструментом, на который не все обращают внимание.
Так что перенос этой штуки из псалма на уровень языка несёт несколько профитов:
- Будет почти гарантированная поддержка в IDE.
- Сам язык зафаталится и скажет, что трейт Х — часть типа, а не просто набор функций.
- Раз у нас уже есть трейты, и от них никуда не деться, то их начнут реже применять неправильно (а потом плеваться от них) и они станут альтернативной реализацией дефолтных методов у интерфейсов (я про которые из джавы).
- Ну и это не аффектит скорость выполнения, т.к. линковка — стадия компиляции, а не интерпретации.
Доступ к приватным свойствам в PHP — Вместо рефлексии и доступа через
Closure::bind
еще можно преобразовать к массиву и это будет даже быстрее.
Можно, но это не значит что так надо делать на продуктовом коде.
по WordPress ни одной новости, а между тем там скоро обновление :))
Эххх, жаль что перегрузку операторов зарежектили :(
Открыл статью про Laravel 9. Первая фраза: "Laravel 9 вышла 8 февраля 2022 года". Задумался... Даже календарь перепроверил.
Хотелось бы, что бы фонд нашел ресурсы на написание хоть какой-нибудь поверхностной документации к этой биг папочке https://github.com/php/php-src/tree/master/Zend, а также заставил писать людей доку к новым RFC.
Я вот загорелся написать аттрибут для параметров метода: просидел 2-3 ночи, единственное, что удалось - это написать класс аттрибута. Я так понял у структуры параметра нет ссылки на аттрибуты.
Вообщем, привлекательность разработки ядра - такая себе.
PHP Дайджест № 220 (10 – 24 января 2022)