1. 创建过滤器目录 `app/components`
2. 创建过滤器文件:`ActionTimeFilter.php`
~~~
<?php
namespace app\components; ---命名空间要设置
use Yii;
use yii\base\ActionFilter;
class ActionTimeFilter extends ActionFilter
{
private $_startTime;
public function beforeAction($action)
{
$this->_startTime = microtime(true);
return parent::beforeAction($action);
}
public function afterAction($action,$result)
{
$time = microtime(true)-$this->_startTime;
echo $time;
return parent::afterAction($action,$result);
}
}
~~~
3. 控制器中使用过滤器
~~~
namespace app\controllers;
use Yii;
use app\models\Country;
use app\models\CountrySearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use app\components\ActionTimeFilter; --- 要引入命名空间
use yii\caching\FileCache;
use app\models\User;
/**
* CountryController implements the CRUD actions for Country model.
*/
class CountryController extends Controller
{
public $defaultAction = 'index';
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
[
'class'=>'app\components\ActionTimeFilter',
'only'=>['index','test']
],
];
}
~~~
- 目录
- 配置
- 简介
- 别名
- gii
- 配置项
- 模型
- 简介
- 增删改查
- AR和model
- 模型事件
- 场景
- query查询
- 增删改
- AR查询器
- 模型关系定义
- AR模型连表查询
- fields
- where拼接
- 模块
- 创建模块
- 控制器
- 表单
- 跳转
- 响应
- 验证器
- Action
- 组件
- url
- 分页
- 验证码
- 缓存
- 文件上传
- 预启动组件
- 事件
- 自定义组件
- redis
- 日志
- 行为
- cookie和session
- 基础知识
- 创建一个类
- 配置一个类
- object基类
- component组件类特性
- phpstorm无法更改php等级
- url地址美化
- 过滤器
- 请求处理
- 请求组件
- 响应组件
- header
- 用户登录
- 实现IdentityInterface接口
- 登录
- 自动检测登录
- 获取用户信息
- 访问行为追踪
- phpstorm+postman断点调试