# 事件
[TOC]
## 场景
1. 登陆权限的检查,设置一些检查机制,任何一个监听器返回 `false` 就会中断后面的执行
2. 文章过滤事件,在文章显示之前可能需要一些过滤替换等操作,但是同时也为啦以后可以加更多,可以预先在显示文章之前加一个监听事件,然后在处理事件之前,在这个事件上挂载多个监听器,这样处理事件的时候把文章内容传进去让这些监听器依次进行处理然后才显示
如下:
先添加一个事件,注意第二个参数为引用传递,会改变变量的值
``` php
$content='文章内容';
Event::listen('article_before', $content);
echo $content;
```
然后在其它地方就可以任意添加事件监听器,注意方法的参数和监听时传为的参数一至
``` php
Event::add('article_before', 这里是个可调用函数或类的方法);
// ....添加任意多个操作
```
> 处理文章因为不管返回值是什么都是要显示的,所以这个操作也可以使用中间件来完成