jueves, 30 de abril de 2009

iterators (iteradores) en PHP5

Ejemplo de iteradores de la librería SPL, a partir de php5 está incluída por defecto.


<?php

class Animal{

private $name;

function
__construct($name){

$this->name = $name;


}

function
get_name(){

return
$this->name;

}

}

/*** array de objetos ***/

$perro = new Animal('perro');


$gato = new Animal('gato');

$cerdo = new Animal('cerdo');

$array = array($perro, $gato);




/*** crear el array de objetos ***/

$arrayObj = new ArrayObject($array);



/*** añadir un objeto al array ***/


$arrayObj->append($cerdo);



/*** iterar el array ***/

for($iterator = $arrayObj->getIterator();


/*** checkear si es válido ***/

$iterator->valid();

/*** mover al siguiente objeto del array ***/


$iterator->next())

{

/*** imprimir la posición y el valor actual del array de objetos ***/


echo $iterator->key() . ' -> ' . $iterator->current()->get_name() . '<br />';


}



?>







El resultado es:

0 -> perro

1 -> gato

2 -> cerdo

miércoles, 1 de abril de 2009

Recursos php / php resources