Está en la página 1de 1

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.

01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
<?php
interface IntfzObservador {
function hayCambios($observado, $datos);
}
class NotificadorUsuarios implements IntfzObservador {
public function hayCambios($sender, $args) {
// Código para notificar: mensaje en consola,
// registro en un fichero 'log', etc.
echo("Se ha añadido '$args' a la lista de usuarios.n");
}
}
class ListaUsuarios {
private $observadores = array();
public function anadirUsuario($nombre) {
foreach($this->observadores as $obs)
$obs->hayCambios($this, $nombre);
}
public function anadirObservador($observador) {
$this->observadores[]= $observador;
}
}
/** Código de pruebas **/
$nu = new NotificadorUsuarios();
$lu = new ListaUsuarios();
$lu->anadirObservador($nu);
$lu->anadirUsuario("Juana");
$lu->anadirUsuario("Pedro");
?>
</body>
</html>

También podría gustarte