neuron-php/patterns

PHP 设计模式。

0.6.0 2022-11-29 16:47 UTC

This package is auto-updated.

Last update: 2024-08-29 05:24:53 UTC


README

Build Status

关于 Neuron PHP

设计模式

标准

观察者

ObserverableTrait 和 IObserver 接口组成了观察者模式的实现。

class Observable
{
    use ObservableTrait;
    
    public function updated()
    {
        $this->notifyObservers( 1, 2, 3 );
    }
}

class Observer implements IObserver
{
    public $State = 0;
    
    // IObserver implementation method..
    
    public function observableUpdate( $Observable, ...$param )
    {
        // Will set $State to 1.
        
    	$this->State = $param[ 0 ];
    }
}

$Observer   = new Observer;
$Observable = new Observable;

$Observable->addObserver( $Observer );

$Observable->updated();

// Will notify all attached observers..

// Later on, clean up..

$Observable->removeObserver( $Observer );

注册表

单例