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的控制语句
Oct 09 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
在PHP中设置、使用、删除Cookie的解决方法
May 06 PHP
smarty模板局部缓存方法使用示例
Jun 17 PHP
php数组键名技巧小结
Feb 17 PHP
php调整服务器时间的方法
Apr 03 PHP
为你总结一些php信息函数
Oct 21 PHP
PHP使用http_build_query()构造URL字符串的方法
Apr 02 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
php提供实现反射的方法和实例代码
Sep 17 PHP
laravel 创建命令行命令的图文教程
Oct 23 PHP
swoole锁的机制代码实例讲解
Mar 04 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
用Flash图形化数据(一)
2006/10/09 PHP
解析CI的AJAX分页 另类实现方法
2013/06/27 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
php实现websocket实时消息推送
2018/03/30 PHP
JavaScript 处理Iframe自适应高度(同或不同域名下)
2013/03/29 Javascript
改变文件域的样式实现思路同时兼容ie、firefox
2013/10/23 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
jQuery截取指定长度字符串的实现原理及代码
2014/07/01 Javascript
JavaScript拆分字符串时产生空字符的解决方案
2014/09/26 Javascript
PHPExcel中的一些常用方法汇总
2015/01/23 Javascript
动态加载js的方法汇总
2015/02/13 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
2020/04/28 Javascript
jQuery如何防止Ajax重复提交
2016/10/14 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
2017/07/03 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
js事件机制----捕获与冒泡机制实例分析
2020/05/22 Javascript
vue项目接口管理,所有接口都在apis文件夹中统一管理操作
2020/08/13 Javascript
[47:39]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs OPTIC
2018/03/31 DOTA
python下载文件时显示下载进度的方法
2015/04/02 Python
用Python编写一个基于终端的实现翻译的脚本
2015/04/24 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
英国领先的运动营养品牌:Protein Dynamix
2018/01/02 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
新学期班主任寄语
2014/01/18 职场文书
精彩的演讲稿开头
2014/05/08 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
一篇文章带你深入了解Mysql触发器
2021/08/02 MySQL