yii框架中关于控制器中filter过滤器和外部action的使用

在yii框架中,控制器的过滤器分为执行前和执行后,这里举例是在执行控制器前的过滤。

需要在components/文件夹下定义公共的TestAction.php文件,并且实现run()方法。这个action是各个控制器公用的。

class TestController extends Controller
{
    /**
     * 定义外部的action
     * @return array
     */
    public function actions()
    {
        return array(
            ‘testa‘ => array(
                ‘class‘ => ‘TestAction‘
            )
        );
    }
    public function filters()
    {
        return array(                     //‘tes+edit,modify‘ 仅仅edit和modify需要执行过滤
            ‘tes-delete‘  //除了delete外,其他都需要执行过滤
        );
    }
    public function filterTes($filterChain)
    {
        echo "this is a filter...\r\n";
        /*
         * 定义过滤器链,$filterChain让后面的控制器继续执行
         */
        $filterChain->run();
    }

    public function actionTe()
    {
        echo $this->action->id.PHP_EOL;
        Yii::app()->clientScript->registerScriptFile();
        echo "this is test controller...\r\n";
    }
    public function actionDelete()
    {
        echo "this is delete action...\r\n";
    }
}
时间: 2024-10-12 03:32:49

yii框架中关于控制器中filter过滤器和外部action的使用的相关文章

在IE中MVC控制器中返回JSON格式的数据时提示下载

最近做项目时,视图中用jquery.form.js异步提交表单时,接收的是JSON格式的数据,但是奇怪的是在IE中提示下载文件,其他浏览器中一切正常,下载后,里面的内容就是在控制器中返回的数据.代码如下: 视图中js代码: $("#formDoUpload").ajaxSubmit({                    type: "POST",                    url: "/controller/action/",  

YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因

YII框架中可以使用foreach遍历对象以及可以使用数组形式直接访问对象的原因在YII框架的使用过程中,我们可以使用foreach直接遍历findAll等方法返回的对象的属性为什么呢?其实这与CModel实现的接口相关,接下来我们看下其实现的整个过程对于一个我们定义的model,它会继承虚类CActiveRecord,CActiveRecord类继承于CModel,如下所示: class special extends CActiveRecord { } abstract class CAct

YII框架自带RBAC

common:中加 'authManager' => [ 'class' => 'yii\rbac\DbManager', 'itemTable' => 'auth_item', 'assignmentTable' => 'auth_assignment', 'itemChildTable' => 'auth_item_child', ], yii中自带的四张表: vendor/yiisoft/yii2/rbac/migrations/schma-mysql.sql 还加一个

vue el-table和添加全局的filter过滤器,并支持过滤器文字换图标

vue 的filter 过滤器不仅仅是限于文字和单位的转换可以加图标.这里基于封装全局的el-table. el-table请自行去官网查看 然后table组件中,如果有filter过滤器指向全局的filter.js中 然后在main.js中引入filter.js文件 然后就可以在其他地方调用. 写的比较粗糙,不喜勿喷.谢谢 原文地址:https://www.cnblogs.com/Gherardo/p/12005181.html

Yii框架下CDataColumn中filter应用+jeditable+pager样式定义应用实例

应用环境在Yii1.1框架下,CDataColumn的filter应用给CGridView带来了极大的方便,可以根据某一字段的值来过滤显示现有的表格数据,这是个重要的功能,可惜一来Yii的中文资料实在不够详细,二来百度出的东西重复的太多,有用的很少.参考很多英文资料后,我把自己写的实例贴出来供大家参考,如果有必要我以后还会陆续贴一些Yii文章出来. filter首先要有自己的数据源,这个可以是当前表格使用的model,也可以是其他一些array,这个实例中我使用了当前model,CGridVie

Yii框架中使用mongodb扩展

前提条件:安装了mongodb数据库 安装了mongo的php驱动 下载Yii的mongo扩展: 下载链接:http://pan.baidu.com/s/1rPtx0 官方下载链接:https://github.com/canni/YiiMongoDbSuite 得到文件:YiiMongoDbSuite.tar.gz 解包,并将该文件放至应用的/protected/extensions文件夹下面 确保文件夹名称为:YiiMongoDbSuite 配置应用 1 vi /protected/conf

Java中的Filter过滤器

Filter简介 Filter也称之为过滤器,它是Servlet技术中最实用的技术,Web开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态图片文件或静态 html 文件等进行拦截,从而实现一些特殊的功能.例如实现URL级别的权限访问控制.过滤敏感词汇.压缩响应信息等一些高级功能. 它主要用于对用户请求进行预处理,也可以对HttpServletResponse进行后处理.使用Filter的完整流程:Filter对用户请求进行预处理,接着将请求交

Yii 框架中安装 memcache 及配置和测试

安装php_memcache.dll扩展 1.首先将php_memcache.dll文件放入E:\server\php\ext目录下 (php_memcache.dll下载地址:http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/)   一定要根据自己的php版本以及Thread Safety来下载相应的php_memcache.dll,Thread Safety可以在   phpinfo()中查看,enabled表示ts版

Yii框架学习笔记(二)将html前端模板整合到框架中

选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/topics/390807796 更多内容 百度:yii 前端 http://my.oschina.net/u/1472492/blog/221085 摘要 Yii框架学习笔记(二)将html前端模板整合到框架中 原文地址:http://www.ldsun.com/1309.html 上一节成功将Y