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 快速生成 Flash 动画的方法
Mar 06 PHP
PHP重定向的3种方式
Mar 07 PHP
PHP中常用的字符串格式化函数总结
Nov 19 PHP
php文件缓存类汇总
Nov 21 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
PHP异常处理Exception类
Dec 11 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
PHP文件系统管理(实例讲解)
Sep 19 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
Oct 24 PHP
Centos7安装swoole扩展操作示例
Mar 26 PHP
50个优秀经典PHP算法大集合 附源码
Aug 26 PHP
PHP sdk实现在线打包代码示例
Dec 09 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
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
页面装载js及性能分析方法介绍
2014/03/21 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
javascript封装 Cookie 应用接口
2015/08/07 Javascript
js全选按钮的实现方法
2015/11/17 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
Webpack的dll功能使用
2018/06/28 Javascript
浅析微信扫码登录原理(小结)
2018/10/29 Javascript
微信小程序 wx:for遍历循环使用实例解析
2019/09/09 Javascript
Vue的属性、方法、生命周期实例代码详解
2019/09/17 Javascript
[01:07:19]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第一场 1月19日
2021/03/11 DOTA
Python 元组(Tuple)操作详解
2014/03/11 Python
在Windows8上的搭建Python和Django环境
2014/07/03 Python
Numpy数组的保存与读取方法
2018/04/04 Python
Python super()函数使用及多重继承
2020/05/06 Python
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
俄罗斯天然和有机产品、健康生活网上商店:Fitomarket.ru
2020/10/09 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
2015年学校保卫部工作总结
2015/05/11 职场文书
校园广播站开场白
2015/06/01 职场文书
小学三年级语文教学反思
2016/03/03 职场文书
Oracle创建只读账号的详细步骤
2021/06/07 Oracle
vue实现锚点定位功能
2021/06/29 Vue.js
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js
python中redis包操作数据库的教程
2022/04/19 Python
SQL Server中使用表变量和临时表
2022/05/20 SQL Server