Мне нужно сериализовать прокси-класс. Класс использует __set и __get для хранения значений в массиве. Я хочу, чтобы сериализация выглядела так, будто это просто плоский объект. Другими словами, мой класс выглядит следующим образом:Пользовательские результаты foreach для динамического класса прокси - магические методы?
class Proxy
{
public $data = array();
public function __get($name)
{
return $data[$name]
}
}
и я хочу цикл Еогеасп вернуть все ключи и значения в $ данных, когда я говорю:
foreach($myProxy as $key)
Возможно ли это?
У меня нет контроля над кодом, который будет выполнять итерацию. Это сторонняя библиотека, и я хочу, чтобы мой прокси играл с ним неплохо. Он использует foreach. Правильно ли я предполагаю, что для реализации интерфейса потребуется, чтобы человек итерации использовал функции интерфейса, или он делает какую-то магию за кулисами? –
Интерфейс итератора - это волшебство - он позволяет использовать foreach() над вашим объектом. – Greg
Спасибо за информацию! –