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 相关文章推荐
967 个函式
Oct 09 PHP
多重?l件?合查?(一)
Oct 09 PHP
PHP4实际应用经验篇(7)
Oct 09 PHP
apache rewrite_module模块使用教程
Jan 10 PHP
备份mysql数据库的php代码(一个表一个文件)
May 28 PHP
Cygwin中安装PHP方法步骤
Jul 04 PHP
简述php环境搭建与配置
Dec 05 PHP
yii2 数据库读写分离配置示例
Feb 10 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
PHP基于面向对象实现的留言本功能实例
Apr 04 PHP
php解决约瑟夫环算法实例分析
Sep 30 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
php使用sql server验证连接数据库的方法
2014/12/25 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
js如何判断不同系统的浏览器类型
2013/10/28 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
JavaScript实现数字数组按照倒序排列的方法
2015/04/06 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
浅谈对于react-thunk中间件的简单理解
2019/05/01 Javascript
vue draggable resizable gorkys与v-chart使用与总结
2019/09/05 Javascript
详解Vscode中使用Eslint终极配置大全
2019/11/08 Javascript
详解vue中v-bind:style效果的自定义指令
2020/01/21 Javascript
js+canvas实现简单扫雷小游戏
2021/01/22 Javascript
django接入新浪微博OAuth的方法
2015/06/29 Python
Python序列操作之进阶篇
2016/12/08 Python
使用python实现BLAST
2018/02/12 Python
python 图像平移和旋转的实例
2019/01/10 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
比利时买床:Beter Bed
2017/12/06 全球购物
美国浴缸、水槽和水龙头购物网站:Vintage Tub & Bath
2019/11/05 全球购物
给同事的道歉信
2014/01/11 职场文书
感恩之星事迹材料
2014/05/03 职场文书
计算机系本科生求职信
2014/05/31 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
党员自我评议个人对照检查材料
2014/09/16 职场文书
写给父母的感谢信
2015/01/22 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
JavaScript 反射学习技巧
2021/10/16 Javascript
JavaScript严格模式不支持八进制的问题讲解
2021/11/07 Javascript
Java死锁的排查
2022/05/11 Java/Android
SpringCloud超详细讲解Feign声明式服务调用
2022/06/21 Java/Android