首页 > Web开发 > 详细

thinkphp 事件

时间:2019-05-30 17:57:44      阅读:145      评论:0      收藏:0      [点我收藏+]

使用助手函数注册事件

<?php
namespace app\index\controller;

use app\index\model\User;
class Index
{

    public function Index(){
        // 触发UserLogin事件 使用助手函数
        event('UserLogin');
        return "ming";
    }

}

生成事件类

php think make:event UserLogin

事件类添加方法

<?php

namespace app\event;

use app\index\model\User;

class UserLogin{
    public $user;

    public function _construct(User $user){
        $this->user = $user;
    }
}

这里依赖于model目录下的User类

事件类添加事件标识

此时目录如下
技术分享图片

添加标识

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 事件定义文件
return [
    'bind'      => [
        'UserLogin' => 'app\event\UserLogin',
    ],

    'listen'    => [
        'AppInit'  => [],
        'HttpRun'  => [],
        'HttpEnd'  => [],
        'LogLevel' => [],
        'LogWrite' => [],
    ],

    'subscribe' => [
    ],
];

此时访问 http://localhost:8082/ 可以发现已经访问成功

事件监听

手动注册一个事件监听


    /**
     * 事件监听
     */
    public function listen(){
        Event::listen('UserLogin', function ($user){
            
        });
    }

可以使用命令行生成事件监听

php think make:listener UserLogin

事件订阅同理

thinkphp 事件

原文:https://www.cnblogs.com/melovemingming/p/10950800.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!