-
//定义一个自定义Event类,其实不一定是事件类,普通类也行,但是用事件类架构更加清晰
-
//以下会在目录app\event下生成一个UserLogin事件类
-
php think make:event UserLogin
编写代码如下:
-
namespace app\event;
-
class UserLogin
-
{
-
//hand方法名和参数是自定义的
-
public function sendMessage($param)
-
{
-
//处理代码
-
echo('sendmessage');
-
}
-
}
-
class UserLoginSubscribe
-
{
-
//手工事件订阅,方法名必须为subscribe,并在函数里添加事件到事件订阅者
-
public function subscribe(Event $event)
-
{
-
//添加事件到订阅者 第一个参数为事件标识,随便写,第二个参数事件类和执行的函数
-
$event->listen('UserLogin',[app('app\event\UserLogin'),'sendMessage']);
-
-
//也可以为自动标识函数onLogout动态修改事件标识,原来标识为Logout,现改成Out
-
//$event->listen('Out', [$this,'onUserLogout']);
-
}
-
-
}
-
return [
-
'subscribe' => [
-
'app\subscribe\UserLoginSubscribe',
-
// 更多事件订阅
-
],
-
];
-
//调用,事件标识是$event->listen('UserLogin',[app('app\event\UserLogin'),'sendMessage'])第一个参数
-
event('UserLogin');