专栏首页mySoulthinkphp 事件
原创

thinkphp 事件

使用助手函数注册事件

<?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类

事件类添加事件标识

此时目录如下

2019-05-25-15-09-41----

添加标识

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

事件订阅同理

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 学习 | egg.js 从入门到精通

    [wp_editor_md_976949143a4a48533829d49a6bdde651.jpg]

    mySoul
  • node web模块 (服务器端和客户端)

    web服务器指网站服务器,指驻留在因特网上的某种程序,web浏览器的基本功能,提供信息浏览服务

    mySoul
  • Eureka

    微服务是一种软件架构和组织的方法,其中软件通过明确定义的api,进行通信的小型独立服务组成。这些服务由小型服务组成,由各个团队独立负责。

    mySoul
  • 木兰宽松许可证(MulanPSL v2)解析

    2019年8月以来,“木兰”系列开源许可证陆续上线发布,受到了业界的广泛关注。截止目前,“木兰宽松许可证”第1版(MulanPSL v1)已在Linux基金会、...

    开源社
  • 如何选择开源组件

    十毛
  • Facebook开源算法代码库PySlowFast,轻松复现前沿视频理解模型

    视频与动作理解俨然已成为当今最火热的研究方向之一,然而在开源社区中找到一个简洁、高效、易于修改的视频理解代码库仍不是一件简单的事情。更重要的是,复现当今前沿的 ...

    机器之心
  • 区块链代码不开源=假项目?

    不管是互联网还是区块链,作为一项技术进入大众的视野,开源与否都饱含争议,曾经Java的非完全开源产生了很多非议,而今区块链的出现,让开源与否这个话题再次进入公众...

    用户4375367
  • VS 添加Snippets

    悟空聊架构
  • VS 添加Snippets

    悟空聊架构
  • Twine试用感想

    上一次,我写了《Freebase再研究》以后,徐廉之网友赠送了我一个Twine.com的加入邀请。

    ruanyf

扫码关注云+社区

领取腾讯云代金券