Yii2 自定义过滤器

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']
            ],
        ];
    }


转载于:https://my.oschina.net/lnmpstudy/blog/522259

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值