Esempio n. 1
0
    static function is_match($items)
    {
        return $items instanceof Traversable;
    }
    static function get_instance($items)
    {
        // ArrayObjects can be used by foreach but cannot be used as an iterator
        // so we need to get the real iterator.
        if ($items instanceof ArrayObject) {
            return $items->getIterator();
        } else {
            return $items;
        }
    }
}
// Register this iterator with Chano.
Chano::register_iterator('Chano_Iterators_Iterator');
class Chano_Iterators_Object implements Chano_Iterators_Interface
{
    static function is_match($items)
    {
        return $items instanceof stdClass;
    }
    static function get_instance($items)
    {
        return new ArrayIterator($items);
    }
}
// Register this iterator with Chano.
Chano::register_iterator('Chano_Iterators_Object');