Я пытаюсь написать собственный объект, который может заменить суперглобальные $_REQUEST
, $_GET
, $_POST
а также $_COOKIE
, Я пытаюсь изменить, как свойства в этих массивах доступны через функцию offsetGet
и сделать некоторые записи и манипулирование данными, прежде чем данные будут возвращены тому, кто пытается получить к ним доступ.
До сих пор я пытался сделать класс, который реализует ArrayAccess
, Iterator
и еще один класс, который расширяется ArrayObject
Однако ни один из этих вариантов не был слишком полезным.
Особенно, когда дело доходит до того, чтобы заставить эти пользовательские суперглобальные переменные работать хорошо с функциями массива (т.е. array_map
, array_key_exists
Я довольно застрял. Сигнатуры функций этих функций массива ожидают массив.
Изменение всех частей моей кодовой базы для доступа к внутреннему массиву внутри моего пользовательского объекта также не вариант в моем конкретном случае.
Есть ли другие способы достижения того, что я пытаюсь сделать? Возможно, с другим объектом или правильной реализацией ArrayAccess
или же ArrayObject
это будет хорошо работать с функциями массива.
Задача ещё не решена.
Других решений пока нет …