While you cannot implement this interface, you can use it in your checks to determine if something is usable in for each. Here is what I use if I'm expecting something that must be iterable via foreach.
<?php
if( !is_array( $items ) && !$items instanceof Traversable )
//Throw exception here
?>
La interfaz Traversable
(No hay información de versión disponible, podría estar únicamente en SVN)
Introducción
Interfaz para detectar si una clase puede ser recorrida mediante foreach.
Una interfaz abstracta base no puede ser implementada sola. En su lugar, debe ser implementada con IteratorAggregate o con Iterator.
Nota:
Las clases internas que implementan esta interfaz pueden ser usadas en una construcción foreach y no necesitan implementar IteratorAggregate o Iterator.
Nota:
Este es un motor interno de interfaz que no puede ser implementado en scripts de PHP. Se debe emplear en su lugar o IteratorAggregate, o bien Iterator. Cuando se implementa una interfaz que extiende a Traversable, asegúrese de enumerara IteratorAggregate o Iterator antes de su nombre en la cláusula de implementación.
Sinopsis de la Interfaz
Esta interfaz no tiene métodos; su único propósito es servir de interfaz base para todas las clases que se pueden recorrer.
