/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/recursiveIteratorIterator_endchildren_error.phpt
43 строки
879 B
Gina Peter Banyard
ext/spl: Deprecate ArrayObject and ArrayIterator with objects (#19420)
14 авг 2025, 14:38
Не верифицирован
14 авг 2025, 14:38
fb87b14
Код
Авторство
О чём код?
--TEST-- SPL: RecursiveIteratorIterator - Exception thrown in endchildren which should be handled in next() --FILE-- <?php $recArrIt = new RecursiveArrayIterator([ [1, 2], ['a', 'b'], ]); class MyRecursiveIteratorIterator extends RecursiveIteratorIterator { function endchildren(): void { throw new Exception; } } $recItIt = new MyRecursiveIteratorIterator($recArrIt, RecursiveIteratorIterator::LEAVES_ONLY, RecursiveIteratorIterator::CATCH_GET_CHILD); foreach ($recItIt as $val) echo "$val\n"; $recItIt2 = new MyRecursiveIteratorIterator($recArrIt, RecursiveIteratorIterator::LEAVES_ONLY); echo "===NEXT LOOP===\n"; foreach ($recItIt2 as $val) echo "$val\n"; ?> --EXPECTF-- 1 2 a b ===NEXT LOOP=== 1 2 Fatal error: Uncaught Exception in %s Stack trace: #0 %s(%d): MyRecursiveIteratorIterator->endchildren() #1 {main} thrown in %s on line %d