Как стать автором
Обновить

Комментарии 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 ночи, единственное, что удалось - это написать класс аттрибута. Я так понял у структуры параметра нет ссылки на аттрибуты.

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

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории