SPL - Standar PHP Library
La Standar PHP Library (SPL) es una adición que se le hizo a PHP para solucionar algunos problemas comunes. Sobre esto se habla en el capitulo 8 ("Elements pf Object-oriented Design) del libro de la certificación. Una de las implementaciones y ejemplos que muestra es la siguiente... como acceder a un objeto como si fuera un array. En el libro hay un ejemplo bastante "simplón" que si bien muestra como funciona y su potencial personalmente creo que deberían haber implementado otro ejemplo que muestre realmente su poder.
En este post citare el ejemplo del libro y en el próximo post implementare un ejemplo en el que se note un poco más su potencial. Obviamente, en el libro el ejemplo si bien es simple te das cuenta de su poder pero creo que por mas que te des cuenta debería haber sido un ejemplo un poco más "avanzado"... pero a los hechos practico es in-negable que este ejemplo es suficiente.
Explicación:
En SPL se agregan unas cuantas interfaces para que hagamos uso de ellas cuando necesitemos. Una de las interfaces es Iterator y es la que usaremos aquí. Esta interface nos provee de una interacción simple como la de un array de una dimensión. La interface se parece a lo siguiente:
interface Iterator{
function current();
function next();
function rewind();
function key();
function valid();
function seek($key);
} Y el ejemplo es así:
<?php
class MyData implements Iterator{
private $_myData = array('foo', 'bar', 'baz', 'bat');
private $_current = 0;
function current(){
return $this->_myData[$this->_current];
}
function next(){
$this->_current += 1;
}
function rewind(){
$this->_current = 0;
}
function key(){
return $this->_current;
}
function valid(){
return isset($this->_myData[$this->_current]);
}
}
$data = new MyData();
foreach($data as $key => $value){
echo "$key: $value<br>";
}
?>
Creo que el código habla por si solo :-D
Dario Ocles.


0 comentarios:
Publicar un comentario en la entrada