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的基本常识小结
Jul 05 PHP
PHP处理Json字符串解码返回NULL的解决方法
Sep 01 PHP
smarty简单分页的实现方法
Oct 27 PHP
thinkphp模板的包含与渲染实例分析
Nov 26 PHP
PHP实现抓取HTTPS内容
Dec 01 PHP
通过chrome浏览器控制台(Console)进行PHP Debug的方法
Oct 19 PHP
php实现URL加密解密的方法
Nov 17 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
Apr 20 PHP
PHP Laravel中的Trait使用方法
Jan 20 PHP
PHP getDocNamespaces()函数讲解
Feb 03 PHP
PHP7 echo和print语句实例用法
Feb 15 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
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
php 可变函数使用小结
2018/06/12 PHP
Firefox div高度自适应
2009/04/28 Javascript
Javascript remove 自定义数组删除方法
2009/10/20 Javascript
基于jquery的一个简单的脚本验证插件
2010/04/05 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
canvas实现爱心和彩虹雨效果
2017/03/09 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
js实现简易计算器功能
2019/10/18 Javascript
JavaScript动画实例之粒子文本的实现方法详解
2020/07/28 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
2020/11/06 Javascript
Python urlopen 使用小示例
2008/09/06 Python
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
python正则中最短匹配实现代码
2018/01/16 Python
对python Tkinter Text的用法详解
2018/10/11 Python
阿里云:Aliyun.com
2017/02/15 全球购物
Pretty Little Thing美国:时尚女性服饰
2018/08/27 全球购物
Linux的主要特性
2014/10/06 面试题
门诊挂号室室长岗位职责
2013/11/27 职场文书
车间操作工岗位职责
2013/12/19 职场文书
销售员个人求职的自我评价
2014/02/10 职场文书
优秀党员推荐材料
2014/12/18 职场文书
捐助感谢信
2015/01/22 职场文书
管理失职检讨书范文
2015/05/05 职场文书
经费申请报告范文
2015/05/18 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
python unittest单元测试的步骤分析
2021/08/02 Python
python如何查找列表中元素的位置
2022/05/30 Python
Nginx文件已经存在全局反向代理问题排查记录
2022/07/15 Servers