Size: a a a

2020 November 26

А

Алексей R in Yii Framework 3
PHP 8.0 релизнут!

https://www.php.net/releases/8.0/ru.php?lang=ru

Основные изменения:

• Именованные аргументы
• Атрибуты
• Объединенные типы
• Объявление свойств в конструкторе
• Выражение match
• Оператор nullsafe
• Улучшенное сравнение строк и чисел
• Ошибки согласованности типов для встроенных функций
• JIT

В релизе еще много других фич, а также улучшений синтаксиса, консистентности и обработки ошибок.

Подробно: php.watch/versions/8.0
Видео на русском: обзор Валентина Удальцова
Полный список изменений: php-8.0.0/UPGRADING
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
А где описывать сами декораторы?
Что значит описывать?
источник

AB

Alexander Borisov in Yii Framework 3
Дефинишены
источник

Д

Дмитрий in Yii Framework 3
А никого не смущает атрибут роута POSTS, который (роут) обрабатывает класс USER (хорошее название для контроллера) :)
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
Дефинишены
Ну там же можно
источник

AB

Alexander Borisov in Yii Framework 3
Смущает, что нужно иметь доступ к дефинишену декорируемого сервиса. Получается yii-debug должен будет переопределять сервис чтобы добавить к нему декораторы? Или это будет разруливаться на уровне мерджа?
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
Смущает, что нужно иметь доступ к дефинишену декорируемого сервиса. Получается yii-debug должен будет переопределять сервис чтобы добавить к нему декораторы? Или это будет разруливаться на уровне мерджа?
yii-debug декорирует через ProxyContainer
источник

AB

Alexander Borisov in Yii Framework 3
Он будет так делать даже если будет поддержка декораторов?
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
Он будет так делать даже если будет поддержка декораторов?
Да
источник

DS

Dmitriy S in Yii Framework 3
Он умеет создавать декораторы автоматически, вручную ничего писать не надо, только сервисы в конфиге указываешь, какие нужно задекорировать.
источник

AM

Alexander Makarov in Yii Framework 3
Дмитрий
А никого не смущает атрибут роута POSTS, который (роут) обрабатывает класс USER (хорошее название для контроллера) :)
хахахах :)
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
А где описывать сами декораторы?
Зачем их описывать для дебагера? Задаешь класс/интерфейс сервиса, он его декорирует и пишет все вызовы методов с возможностью посмотреть дампы параметров и результата.
источник

AB

Alexander Borisov in Yii Framework 3
В дебагере это скорее прокси, а не декораторы
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
В дебагере это скорее прокси, а не декораторы
Типовый декоратор. Но можно и отдельно методы декорировать с кастомным кодом.
источник

AB

Alexander Borisov in Yii Framework 3
Почему тогда yiisoft/proxy, а не yiisoft/decorator ? 🙂
источник

DS

Dmitriy S in Yii Framework 3
Alexander Borisov
Почему тогда yiisoft/proxy, а не yiisoft/decorator ? 🙂
Потому что он не изменяет результат вызова, прокси через паттерн декоратора
источник

DS

Dmitriy S in Yii Framework 3
Вот пример автодекоратора
https://i.imgur.com/t0bTdzU.png
источник

DS

Dmitriy S in Yii Framework 3
Сломали, кстати автодекораторы со strict_types, ща поправлю
источник

AB

Alexander Borisov in Yii Framework 3
Можно легко спутать с https://github.com/Ocramius/ProxyManager. Название одинаковое, а вот юзкейсы разные
источник

AB

Alexander Borisov in Yii Framework 3
Точнее у yii только AccessInterceptorValueHolderFactory
источник