/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/spl/tests/ArrayObject/ArrayObject_overloaded_object_incompatible.phpt
28 строк
681 B
Gina Peter Banyard
ext/spl: Deprecate ArrayObject and ArrayIterator with objects (#19420)
14 авг 2025, 14:38
Не верифицирован
14 авг 2025, 14:38
fb87b14
Код
Авторство
О чём код?
--TEST-- Objects with overloaded get_properties are incompatible with ArrayObject --FILE-- <?php $ao = new ArrayObject([1, 2, 3]); try { $ao->exchangeArray(new DateInterval('P1D')); } catch (Exception $e) { echo $e->getMessage(), "\n"; } var_dump($ao); ?> --EXPECTF-- Deprecated: ArrayObject::exchangeArray(): Using an object as a backing array for ArrayObject is deprecated, as it allows violating class constraints and invariants in %s on line %d Overloaded object of type DateInterval is not compatible with ArrayObject object(ArrayObject)#1 (1) { ["storage":"ArrayObject":private]=> array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) } }