PHP7 Observer

This commit is contained in:
Dominik Liebler
2016-09-22 10:54:22 +02:00
parent b707bf064e
commit 9b9eee5a4c
6 changed files with 707 additions and 444 deletions

View File

@@ -2,19 +2,28 @@
namespace DesignPatterns\Behavioral\Observer;
/**
* class UserObserver.
*/
class UserObserver implements \SplObserver
{
/**
* This is the only method to implement as an observer.
* It is called by the Subject (usually by SplSubject::notify() ).
* @var User[]
*/
private $changedUsers = [];
/**
* It is called by the Subject, usually by SplSubject::notify()
*
* @param \SplSubject $subject
*/
public function update(\SplSubject $subject)
{
echo get_class($subject).' has been updated';
$this->changedUsers[] = clone $subject;
}
/**
* @return User[]
*/
public function getChangedUsers(): array
{
return $this->changedUsers;
}
}