码迷,mamicode.com
首页 > Web开发 > 详细

thinkphp 事件

时间:2019-05-30 18:08:14      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:标识   dex   eve   host   png   control   ini   his   function   

使用助手函数注册事件

<?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 事件

标签:标识   dex   eve   host   png   control   ini   his   function   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!