Size: a a a

2020 August 19

DS

Dmitriy S in Yii Framework 3
Arman Poghosyan
Да я в курсе, мне без разницы, мне только проверить есть ли ключ. С точки зрения читабельности array_key_exists лучше, но empty быстрее получается и isset на втором месте. Я скорее уточнить тут читабельность важнее или эта микро-оптимизация?)
Корректный именно для проверки существования ключа array_key_exists.
isset тоже не проверит правильно
https://3v4l.org/AaIXh
источник

AM

Alexander Makarov in Yii Framework 3
Arman Poghosyan
Может кто сказать, как интерпретировать вот такой бенчмарк и стоит вообще сравнивать эти функции? (так как я все таки понимаю, что там с каждой версией PHP могут быть оптимизации для любой из них)
Это не очень правильный бенчмарк.
источник

DS

Dmitriy S in Yii Framework 3
Dmitriy S
Корректный именно для проверки существования ключа array_key_exists.
isset тоже не проверит правильно
https://3v4l.org/AaIXh
Вернее так вот
https://3v4l.org/J4NRD
источник

AM

Alexander Makarov in Yii Framework 3
1. Надо изолировать разные кейсы.
источник

AP

Arman Poghosyan in Yii Framework 3
Dmitriy S
Корректный именно для проверки существования ключа array_key_exists.
isset тоже не проверит правильно
https://3v4l.org/AaIXh
Ну он при значение null вернет false. Мне это без разницы, так-как точно знаю, если там есть ключ, то он имеет значение обязательно.
источник

AM

Alexander Makarov in Yii Framework 3
2. Нужно одинаковые условия запуска (а в 3v4 они нет одинаковы на каждый запуск).
источник

DS

Dmitriy S in Yii Framework 3
Arman Poghosyan
Ну он при значение null вернет false. Мне это без разницы, так-как точно знаю, если там есть ключ, то он имеет значение обязательно.
Это сейчас, код имеет свойство рефакториться
источник

AP

Arman Poghosyan in Yii Framework 3
Alexander Makarov
1. Надо изолировать разные кейсы.
Ну то есть неправильно сразу сравнивать разные методы? Я так понимаю там после первого benchmark-а op cache может сыграть роль для последующих?
источник

AM

Alexander Makarov in Yii Framework 3
Там вообще разница мизерная, если что.
источник

AM

Alexander Makarov in Yii Framework 3
Arman Poghosyan
Ну то есть неправильно сразу сравнивать разные методы? Я так понимаю там после первого benchmark-а op cache может сыграть роль для последующих?
Да, неправильно. И за один проход тоже делать не очень правильно.
источник

AM

Alexander Makarov in Yii Framework 3
Тот же phpbench делает N запусков и использует среднее выкидывая аномалии.
источник

СП

Сергей Предводителев... in Yii Framework 3
@samdark Можешь влить PR в yii-view и добавить этот пакет в Packagist ?
источник

AP

Arman Poghosyan in Yii Framework 3
Alexander Makarov
Там вообще разница мизерная, если что.
Ну то-есть все таки лучше в таких случаях читабельность в конкретном контексте ставить по приоритету.
источник

AM

Alexander Makarov in Yii Framework 3
Сейчас гляну...
источник

AM

Alexander Makarov in Yii Framework 3
Готово.
источник

AM

Alexander Makarov in Yii Framework 3
Arman Poghosyan
Ну то-есть все таки лучше в таких случаях читабельность в конкретном контексте ставить по приоритету.
Да. Пока это не стало проблемой.
источник

СП

Сергей Предводителев... in Yii Framework 3
Alexander Makarov
Готово.
👍
источник

СП

Сергей Предводителев... in Yii Framework 3
CsrfViewInjection в отдельный пакет выделять или в yii-web?
Если в yii-web, то это потянет за собой:
источник

СП

Сергей Предводителев... in Yii Framework 3
источник

А

Алексей R in Yii Framework 3
@predvoditelev это и есть тот самый safe в миграциях? :) https://github.com/yiisoft/yii-cycle/pull/49
источник