PHP オブザーバー パターンの例を使ってみる
リリース: 2016-07-25 08:52:08
-
- class DemoSubject は SplSubject を実装します{
- private $observers, $value;
-
- public function __construct(){
- $this->observers = array();
- }
-
- public functionattach(S plObserver $observer) {
- $this->observers[] = $observer;
- }
-
- public function detach(SplObserver $observer){
- if($idx = array_search($observer, $this->observers, true)){
- unset($this->observers[$idx]);
- }
- }
-
- public function Notice(){
- foreach($this->observers as $observer){
- $observer->update($this );
- }
- }
-
- public function setValue($value){
- $this->value = $value;
- $this->notify();
- }
-
- public function getValue(){
- $を返すthis->value;
- }
- }
-
- class DemoObserverimplements SplObserver{
- public function update(SplSubject $subject){
- echo '新しい値は ' です。 $subject->getValue();
- }
- }
-
- $subject = new DemoSubject();
- $observer = new DemoObserver();
- $subject->attach($observer);
- $subject-> setValue(5);
复制代
|
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-09-20 15:51:33
-
2024-09-20 15:47:32
-
2024-09-20 15:45:32
-
2024-09-20 15:39:32
-
2024-09-20 15:38:32
-
2024-09-20 15:27:32
-
2024-09-20 15:26:32
-
2024-09-20 15:12:32
-
2024-09-20 14:53:01
-
2024-09-20 14:51:01