Приведение объекта к массиву - вызывается какой-либо магический метод?

У меня есть объект класса Foo:

class Foo extends Bar {
    protected $a;
    protected $b;
}

$obj = new Foo();

Что я хочу (и должен) сделать приводит этот объект к массиву, например:

$arr = (array)$obj;

Есть ли какой-то магический (или не магический :)) метод, который вызывается в данный момент? Или есть другой способ его перехватить? Я знаю, что могу написать простой метод, например. asArray()в Foo, но я ищу более "родные" способы PHP.

34
задан Majql 20 June 2012 в 14:16
поделиться