php观察者模式入门例子
풀어 주다: 2016-07-25 08:52:08
-
- class DemoSubject implements SplSubject{
- private $observers, $value;
-
- public function __construct(){
- $this->observers = array();
- }
-
- public function attach(SplObserver $observer){
- $this->observers[] = $observer;
- }
-
- public function detach(SplObserver $observer){
- if($idx = array_search($observer, $this->observers, true)){
- unset($this->observers[$idx]);
- }
- }
-
- public function notify(){
- foreach($this->observers as $observer){
- $observer->update($this);
- }
- }
-
- public function setValue($value){
- $this->value = $value;
- $this->notify();
- }
-
- public function getValue(){
- return $this->value;
- }
- }
-
- class DemoObserver implements SplObserver{
- public function update(SplSubject $subject){
- echo 'The new value is '. $subject->getValue();
- }
- }
-
- $subject = new DemoSubject();
- $observer = new DemoObserver();
- $subject->attach($observer);
- $subject->setValue(5);
复制代码
|
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31