mirror of
https://github.com/DesignPatternsPHP/DesignPatternsPHP.git
synced 2025-08-10 17:04:01 +02:00
update deps & install rector
This commit is contained in:
@@ -2,33 +2,30 @@
|
||||
|
||||
namespace DesignPatterns\Behavioral\Observer;
|
||||
|
||||
use SplSubject;
|
||||
use SplObjectStorage;
|
||||
use SplObserver;
|
||||
|
||||
/**
|
||||
* User implements the observed object (called Subject), it maintains a list of observers and sends notifications to
|
||||
* them in case changes are made on the User object
|
||||
*/
|
||||
class User implements \SplSubject
|
||||
class User implements SplSubject
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
private $email;
|
||||
|
||||
/**
|
||||
* @var \SplObjectStorage
|
||||
*/
|
||||
private $observers;
|
||||
private string $email;
|
||||
private SplObjectStorage $observers;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->observers = new \SplObjectStorage();
|
||||
$this->observers = new SplObjectStorage();
|
||||
}
|
||||
|
||||
public function attach(\SplObserver $observer)
|
||||
public function attach(SplObserver $observer)
|
||||
{
|
||||
$this->observers->attach($observer);
|
||||
}
|
||||
|
||||
public function detach(\SplObserver $observer)
|
||||
public function detach(SplObserver $observer)
|
||||
{
|
||||
$this->observers->detach($observer);
|
||||
}
|
||||
@@ -41,7 +38,7 @@ class User implements \SplSubject
|
||||
|
||||
public function notify()
|
||||
{
|
||||
/** @var \SplObserver $observer */
|
||||
/** @var SplObserver $observer */
|
||||
foreach ($this->observers as $observer) {
|
||||
$observer->update($this);
|
||||
}
|
||||
|
@@ -2,19 +2,18 @@
|
||||
|
||||
namespace DesignPatterns\Behavioral\Observer;
|
||||
|
||||
use SplObserver;
|
||||
use SplSubject;
|
||||
|
||||
class UserObserver implements \SplObserver
|
||||
class UserObserver implements SplObserver
|
||||
{
|
||||
/**
|
||||
* @var SplSubject[]
|
||||
*/
|
||||
private $changedUsers = [];
|
||||
private array $changedUsers = [];
|
||||
|
||||
/**
|
||||
* It is called by the Subject, usually by SplSubject::notify()
|
||||
*
|
||||
* @param SplSubject $subject
|
||||
*/
|
||||
public function update(SplSubject $subject)
|
||||
{
|
||||
|
Reference in New Issue
Block a user