Hola
zubintro !
Puedes crear una clase que tenga como responsabilidad el guardar las instacias de tipo Libro en un archivo de texto.
Para no acoplar tu sistema a implementaciones concretas puedes abstraer ese concepto y modelar una 'interface' para que puedas guardar tus instancias en distintos medios persistentes como un XML o una Base de Datos.
Por ejemplo, podrías definir tu 'interface' así:
Código PHP:
interface ISaver {
function save();
}
Las implementaciones concretas:
Código PHP:
class TxtSaver implements ISaver {
private $biblioteca
public function __construct($biblioteca) {
$this->biblioteca = $biblioteca;
}
public function save() {
$iterator = $this->biblioteca->getIterator();
while($iterator->hasNext()) {
$libro = $iterator->next();
//Instrucciones para salvar el Libro en un archivo de texto.
}
}
}
Más adelante te piden que los guardes en un XML, solamente implementas la 'interface' y defines los comportamientos específicos.
Código PHP:
class XmlSaver implements ISaver {
public function save() {
//etc...
}
}
Un saludote !