91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用Yii里的特別行為ActionFilter

發布時間:2021-03-03 17:56:53 來源:億速云 閱讀:132 作者:TREX 欄目:開發技術

這篇文章主要講解了“如何使用Yii里的特別行為ActionFilter”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用Yii里的特別行為ActionFilter”吧!

新建 app\filters\LoggingFilter 繼承 yii\base\ActionFilter

LoggingFilter 的功能: 在指定請求的 action 前后各記錄一條日志

<?php

namespace app\filters;

use yii\base\ActionFilter;

class LoggingFilter extends ActionFilter
{
 public function beforeAction($action)
 {
  parent::beforeAction($action);

  // To do something
  printf('This is a logging for %s\beforeAction.%s', $this->getActionId($action), PHP_EOL);

  return true;
 }

 public function afterAction($action, $result)
 {
  parent::afterAction($action, $result);

  // To do something
  printf('This is a logging for %s\afterAction.%s', $this->getActionId($action), PHP_EOL);

  return true;
 }
}

新建 app\controllers\SystemController

<?php

namespace app\controllers;

use app\filters\LoggingFilter;

class SystemController extends \yii\web\Controller
{
 public function behaviors()
 {
  parent::behaviors();

  return [
   'anchorAuth' => [
    'class' => LoggingFilter::className(),
    'only' => ['test', 'test-one'], // 僅對 'test'、'test-one' 生效
    'except' => ['test-one'], // 排除 'test-one'
   ],
  ];
 }

 public function actionTestOne()
 {
  printf('This is a testing for %s.%s', $this->getRoute(), PHP_EOL);
 }

 public function actionTestTwo()
 {
  printf('This is a testing for %s.%s', $this->getRoute(), PHP_EOL);
 }

 public function actionTest()
 {
  printf('This is a testing for %s.%s', $this->getRoute(), PHP_EOL);
 }
}

測試

請求 http://yii.test/index.php?r=system/test

This is a logging for test\beforeAction.
This is a testing for system/test.
This is a logging for test\afterAction.

請求 http://yii.test/index.php?r=system/test-one

This is a testing for system/test-one.

請求 http://yii.test/index.php?r=system/test-two

This is a testing for system/test-two.

總結

Yii 中的 ActionFilter(過濾器)相當于 Laravel 中的 Middleware(中間件),beforeAction 相當于前置中間件,afterAction 相當于后置中間件。

感謝各位的閱讀,以上就是“如何使用Yii里的特別行為ActionFilter”的內容了,經過本文的學習后,相信大家對如何使用Yii里的特別行為ActionFilter這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扎兰屯市| 平顶山市| 长汀县| 凤凰县| 兰溪市| 茂名市| 达尔| 玛沁县| 赣州市| 山阳县| 鄂托克前旗| 东莞市| 宾阳县| 慈溪市| 本溪市| 马公市| 平舆县| 拉孜县| 安仁县| 汶上县| 澜沧| 威远县| 正镶白旗| 龙山县| 双柏县| 巴彦县| 筠连县| 嘉黎县| 城步| 额尔古纳市| 桂阳县| 乐至县| 北宁市| 鄂伦春自治旗| 宁河县| 大洼县| 镶黄旗| 娱乐| 新营市| 平泉县| 思茅市|