YII框架中behaviors如何实现模块化复用,高效扩展行为功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计371个文字,预计阅读时间需要2分钟。
原文示例:
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程序设计有所帮助。
本文共计371个文字,预计阅读时间需要2分钟。
原文示例:
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程序设计有所帮助。

