xb/observer

xbsoft 的 observer

维护者

详细信息

github.com/enze/observer

源代码

安装: 15

依赖: 0

建议: 0

安全: 0

星标: 0

关注者: 2

分支: 1

0.0.2 2018-03-19 09:01 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:09:17 UTC


README

observer

xbsoft 的 observer

  • 安装
composer require xbsoft/observer
  • 示例

	<?php
	use xb\observer\Subject as ObSubject;
	$subject = new ObSubject;
	$mail = __NAMESPACE__ . '\\observer\\Mail';
	$push = __NAMESPACE__ . '\\observer\\Push';
	$sms = __NAMESPACE__ . '\\observer\\Sms';
	
	$subject->bind('mail', function () {
		return [
			'rec' => 'xxx@gmail.com',
			'title' => 'test mail',
		];
	});
	$subject->bind('push', function () {
		return [
			'lawer' => new \StdClass,
			'leader' => new \StdClass,
		];
	});

	$subject->bind('sms', function () {
		return [
			'phone' => 'xxxxxxxx',
			'content' => 'test sms',
		];
	});

	$subject->bind('common', function () {
		return new \ArrayObject;
	});
	
	$subject->attach(new $mail);
	$subject->attach(new $push);
	$subject->attach(new $sms);

	$subject->notify();
	?>

	<?php
	use xb\observer\Server as ObServer;

	class MailObserver extends ObServer {
	
		public function doTask($subject) {
			echo '<pre>';
			print_r($subject->mail);
			echo '</pre>';
			echo '<pre>';
			print_r($subject->common);
			echo '</pre>';
		}
	}
	?>