";
$twitter=new SocialNetworkClient();
$facebook=new SocialNetworkClient();
$news=new News();
$news->addObserver($twitter);
$news->addObserver($facebook);
$news->setNeuesteNachricht("Jetzt neu: Produkt X lieferbar!");
class News
{
private $neuesteNachricht;
private $observers=array();
function setNeuesteNachricht($nachricht)
{
$this->neuesteNachricht=$nachricht;
$this->notifyObservers();
}
function getNeuesteNachricht()
{
return $this->neuesteNachricht;
}
public function addObserver($observer)
{
$this->observers[]=$observer;
}
private function notifyObservers()
{
foreach($this->observers as $observer)
{
$observer->notify($this);
}
}
}
class SocialNetworkClient
{
//...
public function notify(News $news)
{
echo "Neue Nachricht in News: ";
echo $news->getNeuesteNachricht();
echo "
";
}
}