he visto algo como esto en un ORM:¿Objeto que actúa como una matriz? (PHP)
$b = new Book();
$b->limit(5)->get();
echo 'ID: ' . $b->id . '<br />';
echo 'Name: ' . $b->title . '<br />';
echo 'Description: ' . $b->description . '<br />';
echo 'Year: ' . $b->year . '<br />';
foreach ($b as $book)
{
echo 'ID: ' . $book->id . '<br />';
echo 'Name: ' . $book->title . '<br />';
echo 'Description: ' . $book->description . '<br />';
echo 'Year: ' . $book->year . '<br />';
echo '<br />';
}
¿Cómo es posible que un objeto actúa como matriz y objeto? ¿Cómo puedo lograr eso? Tenía la esperanza de ver un nuevo método __magic o algo en la clase principal de Book, pero no pude encontrar nada, por lo que podría haber algo realmente básico sobre los objetos php que no conozco.
¿Alguna idea? Gracias de antemano
Te va a encantar esto! :) – balupton
sí, eso es lo que menciono, ¡gracias! –
En realidad, todos los objetos se pueden tarar con foreach, pero accederá a todas las propiedades públicas.Necesita implementar 'Iterator' si desea cambiar este comportamiento. Otra interfaz en la que podría estar interesado es 'ArrayAccess' – Mchl