Yii控制器中filter过滤器用法分析


Posted in PHP onJuly 15, 2016

本文实例讲述了Yii控制器中filter过滤器用法。分享给大家供大家参考,具体如下:

指定过滤动作,(如下projectContext()方法在新建,列表,管理页面调用时使用)

public function filters()
{
  return array(
    'accessControl', // perform access control for CRUD operations
    'postOnly + delete', // we only allow deletion via POST request
    'projectContext +create index admin',
  );
}

添加一些过滤器逻辑,定义过滤方法,过滤方法前必加filter

public function filterProjectContext($filterChain)
{
  $prijectId = null;
  if(isset($_POST['pid'])){
    $projectId = $_POST['pid'];
  }elseif(isset($_GET['pid'])){
    $projectId = $_GET['pid'];
  }
  $this->loadProject($projectId);
  $filterChain->run();
}
public function loadProject($projectid)
{
  if($this->_project === null){
    $this->_project = Project::model()->findbyPK($projectid);
    if($this->_project === null){
      throw new CHttpException(404,'请求和项目没找到!');
    }
  }
  return $this->_project;
}

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

PHP 相关文章推荐
PHP生成UTF8文件的方法
May 15 PHP
PHP的autoload自动加载机制使用说明
Dec 28 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
Jun 28 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
php递归json类实例
Dec 02 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
详解yii2使用多个数据库的案例
Jun 16 PHP
PHP闭包定义与使用简单示例
Apr 13 PHP
PHP通过文件保存和更新信息的方法分析
Sep 12 PHP
phpinfo的知识点总结
Oct 10 PHP
laravel框架中路由设置,路由参数和路由命名实例分析
Nov 23 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
Feb 07 PHP
Yii编程开发常见调用技巧集锦
Jul 15 #PHP
如何正确配置Nginx + PHP
Jul 15 #PHP
Yii净化器CHtmlPurifier用法示例(过滤不良代码)
Jul 15 #PHP
Yii列表定义与使用分页方法小结(3种方法)
Jul 15 #PHP
session 加入redis的实现代码
Jul 15 #PHP
Yii模型操作之criteria查找数据库的方法
Jul 15 #PHP
功能强大的PHP POST提交数据类
Jul 15 #PHP
You might like
require(),include(),require_once()和include_once()的异同
2007/01/02 PHP
php生成扇形比例图实例
2013/11/06 PHP
用PHP将Unicode 转化为UTF-8的实现方法(推荐)
2017/02/08 PHP
PHP判断json格式是否正确的实现代码
2017/09/20 PHP
让textarea控件的滚动条怎是位与最下方
2007/04/20 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
将字符串中由空格隔开的每个单词首字母大写
2014/04/06 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
JS实现简单的图书馆享元模式实例
2015/06/30 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
jquery mobile实现可折叠的导航按钮
2017/03/11 Javascript
使用vue.js写一个tab选项卡效果
2017/03/25 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
webpack构建react多页面应用详解
2017/09/15 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
详解如何在微信小程序开发中正确的使用vant ui组件
2018/09/13 Javascript
解决layui表格的表头不滚动的问题
2019/09/04 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
python检测服务器是否正常
2014/02/16 Python
Django中Forms的使用代码解析
2018/02/10 Python
详解Python中的动态属性和特性
2018/04/07 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
汉森批发:Hansen Wholesale
2018/05/24 全球购物
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
2013/10/30 面试题
工地资料员岗位职责
2013/12/31 职场文书
微观物理专业自荐信
2014/01/26 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
HTML页面滚动时部分内容位置固定不滚动的实现
2021/04/14 HTML / CSS