YII框架中behaviors如何实现模块化复用,高效扩展行为功能?

2026-04-02 05:001阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计371个文字,预计阅读时间需要2分钟。

YII框架中behaviors如何实现模块化复用,高效扩展行为功能?

原文示例:

php/** * 文件:frontend/libs/FilterTest.php * PHP * *** * Created by PhpStorm. * Date: 2016/5/27 * Time: 14:16 */namespace frontend\libs;use Yii;use y;

class FilterTest extends \yii\base\Behavior{ public function events() { return [ \yii\base\Controller::EVENT_BEFORE_ACTION=> 'beforeAction', ]; }

public function beforeAction($event) { // 在这里处理逻辑 }}

改写后:

php/** * FilterTest.php * 使用YII框架的behaviors功能 */namespace frontend\libs;use Yii;

class FilterTest extends \yii\base\Behavior{ public function events() { return [ \yii\base\Controller::EVENT_BEFORE_ACTION=> 'beforeAction', ]; }

public function beforeAction($event) { // 处理逻辑 }}

本文实例讲述了YII框架行为behaviors用法。分享给大家供大家参考,具体如下:

文件 frontend/libs/FilterTest.php

<?php /** * Created by PhpStorm. * Date: 2016/5/27 * Time: 14:16 */ namespace frontend\libs; use Yii; use yii\base\Action; use yii\base\ActionFilter; class FilterTest extends ActionFilter{ //在action之前运行,可用来过滤输入 public function beforeAction($action) { echo '在调用action前显示<br/>'; return TRUE;//如果返回值为false,则action不会运行 } //在action之后运行,可用来过滤输出 public function afterAction($action, $result) { return $result.'在调用action后显示<br/>';//可以对action输出的$result进行过滤,retun的内容会直接显示 } }

frontend/controllers/TestbehaviorController.php

<?php /** * Created by PhpStorm. * Date: 2016/5/27 * Time: 14:19 */ namespace frontend\controllers; use yii\web\controller; class TestbehaviorController extends Controller{ public function behaviors(){ return [ 'test'=>[ 'class'=>'frontend\libs\FilterTest',//调用过滤器 ], ]; } public function actionFilter(){ return "当前action显示<br/>";//返回的内容会递交给过滤器,由afterAction处理 } }

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

YII框架中behaviors如何实现模块化复用,高效扩展行为功能?

本文共计371个文字,预计阅读时间需要2分钟。

YII框架中behaviors如何实现模块化复用,高效扩展行为功能?

原文示例:

php/** * 文件:frontend/libs/FilterTest.php * PHP * *** * Created by PhpStorm. * Date: 2016/5/27 * Time: 14:16 */namespace frontend\libs;use Yii;use y;

class FilterTest extends \yii\base\Behavior{ public function events() { return [ \yii\base\Controller::EVENT_BEFORE_ACTION=> 'beforeAction', ]; }

public function beforeAction($event) { // 在这里处理逻辑 }}

改写后:

php/** * FilterTest.php * 使用YII框架的behaviors功能 */namespace frontend\libs;use Yii;

class FilterTest extends \yii\base\Behavior{ public function events() { return [ \yii\base\Controller::EVENT_BEFORE_ACTION=> 'beforeAction', ]; }

public function beforeAction($event) { // 处理逻辑 }}

本文实例讲述了YII框架行为behaviors用法。分享给大家供大家参考,具体如下:

文件 frontend/libs/FilterTest.php

<?php /** * Created by PhpStorm. * Date: 2016/5/27 * Time: 14:16 */ namespace frontend\libs; use Yii; use yii\base\Action; use yii\base\ActionFilter; class FilterTest extends ActionFilter{ //在action之前运行,可用来过滤输入 public function beforeAction($action) { echo '在调用action前显示<br/>'; return TRUE;//如果返回值为false,则action不会运行 } //在action之后运行,可用来过滤输出 public function afterAction($action, $result) { return $result.'在调用action后显示<br/>';//可以对action输出的$result进行过滤,retun的内容会直接显示 } }

frontend/controllers/TestbehaviorController.php

<?php /** * Created by PhpStorm. * Date: 2016/5/27 * Time: 14:19 */ namespace frontend\controllers; use yii\web\controller; class TestbehaviorController extends Controller{ public function behaviors(){ return [ 'test'=>[ 'class'=>'frontend\libs\FilterTest',//调用过滤器 ], ]; } public function actionFilter(){ return "当前action显示<br/>";//返回的内容会递交给过滤器,由afterAction处理 } }

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

YII框架中behaviors如何实现模块化复用,高效扩展行为功能?