/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/bug45622b.phpt
31 строка
870 B
Nikita Popov
Fix bug #80945: Don't throw undefined array key warning in ArrayObject unset()
14 июн 2021, 11:14
14 июн 2021, 11:14
71fb835
Код
Авторство
О чём код?
--TEST-- Ensure fix to bug45622 doesn't cause __isset() to be called when ArrayObject::ARRAY_AS_PROPS is used. --FILE-- <?php class UsesMagic extends ArrayObject { function __get($n) { echo "In " . __METHOD__ . "!\n"; } function __set($n, $v) { echo "In " . __METHOD__ . "!\n"; } function __isset($n) { echo "In " . __METHOD__ . "!\n"; } function __unset($n) { echo "In " . __METHOD__ . "!\n"; } } $ao = new UsesMagic(array(), ArrayObject::ARRAY_AS_PROPS); echo "Doesn't trigger __get.\n"; echo $ao->prop1; echo "Doesn't trigger __set.\n"; $ao->prop2 = 'foo'; echo "Doesn't trigger __unset.\n"; unset($ao->prop3); echo "Shouldn't trigger __isset.\n"; isset($ao->prop4); ?> --EXPECTF-- Doesn't trigger __get. Warning: Undefined array key "prop1" in %s on line %d Doesn't trigger __set. Doesn't trigger __unset. Shouldn't trigger __isset.