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

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

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

(0)

相关推荐

  • yii2控制器Controller Ajax操作示例

    本文实例讲述了yii2控制器Controller Ajax操作的方法.分享给大家供大家参考,具体如下: public function actionSample() { if (Yii::$app->request->isAjax) { $data = Yii::$app->request->post(); $searchname= explode(":", $data['searchname']); $searchby= explode(":&quo

  • Yii2使用$this->context获取当前的Module、Controller(控制器)、Action等

    使用Yii2的时候,在某些场景和环境下需要获得Yii2目前所处于的module(模型).Controller(控制器).Action(方法),以及会调用控制器里面已经定义过的一些公共的方法等.对于这些问题Yii2可以在视图层View中使用$this->context这个对象去获得. 示例:譬如现在(视图层登陆界面)login.php方法下面: <?php //得到Yii2的当前的控制器Controller echo $this->context->id; //输出结果:site /

  • Yii2设置默认控制器的两种方法

    本文主要给大家介绍了关于Yii2默认控制器设置的内容,分享了两种方法供大家参考学习,下面来一起看看详细的介绍: 方法1: 首先Yii2中在/vendor/yiisoft/yii2/web/Application.php的28行 class Application extends \yii\base\Application { /** * @var string the default route of this application. Defaults to 'site'. */ public

  • Yii2创建控制器(createController)方法详解

    本文实例讲述了Yii2创建控制器(createController)方法.分享给大家供大家参考,具体如下: yii中创建控制器的是在application中的request通过UrlManager解析得出路由信息的,然后再由yii\base\Module中的 public function runAction($route, $params = []) 方法来创建控制器,最后由控制器再执行相应的动作. 首先得明确,Yii中的路由分三种情况: 第一种是带有模块的(module id/control

  • 详解PHP的Yii框架中的Controller控制器

    控制器是 MVC 模式中的一部分, 是继承yii\base\Controller类的对象,负责处理请求和生成响应. 具体来说,控制器从应用主体接管控制后会分析请求数据并传送到模型, 传送模型结果到视图,最后生成输出响应信息. 操作 控制器由 操作 组成,它是执行终端用户请求的最基础的单元,一个控制器可有一个或多个操作. 如下示例显示包含两个操作view and create 的控制器post: namespace app\controllers; use Yii; use app\models\

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

    本文实例讲述了Yii控制器中filter过滤器用法.分享给大家供大家参考,具体如下: 指定过滤动作,(如下projectContext()方法在新建,列表,管理页面调用时使用) public function filters() { return array( 'accessControl', // perform access control for CRUD operations 'postOnly + delete', // we only allow deletion via POST

  • YII Framework的filter过滤器用法分析

    本文实例讲述了YII Framework的filter过滤器用法.分享给大家供大家参考,具体如下: 首先看官方给出的说明文档,什么是过滤器,过滤器的作用,过滤器的规则,过滤器的定义方法等等. 然后对过滤器进行一个总结. http://www.yiiframework.com/doc/guide/1.1/zh_cn/basics.controller 过滤器是一段代码,可被配置在控制器动作执行之前或之后执行.例如, 访问控制过滤器将被执行以确保在执行请求的动作之前用户已通过身份验证:性能过滤器可用

  • jquery中filter方法用法实例分析

    本文实例讲述了jquery中filter方法用法.分享给大家供大家参考.具体分析如下: filter()方法将匹配元素集合缩减为匹配指定选择器的元素. filter方法中的参数可以为字符串值,包含供匹配当前元素集合的选择器表达式.   一.filter的参数类型可分为两种   1.传递选择器 $('a').filter('.external')   2.传递过滤函数 复制代码 代码如下: $('a').filter(function(index) {         return $(this)

  • JavaScript中filter的用法实例分析

    本文实例讲述了JavaScript中filter的用法.分享给大家供大家参考,具体如下: filter filter也是一个常用的操作,它用于把Array的某些元素过滤掉,然后返回剩下的元素. 和map()类似,Array的filter()也接收一个函数.和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是true还是false决定保留还是丢弃该元素. 例如,在一个Array中,删掉偶数,只保留奇数,可以这么写: var arr = [1, 2, 4, 5, 6

  • Yii控制器中操作视图js的方法

    本文实例讲述了Yii控制器中操作视图js的方法.分享给大家供大家参考,具体如下: //YII framework路径 Yii::getFrameworkPath(); //protected/runtime Yii::app()->getRuntimePath(); //protected/venders目录 Yii::import('application.venders.*'); //或在protected/config/main.php说明 'import'=>array( //....

  • Quarkus中filter过滤器跨域cors问题解决方案

    目录 前言 web依赖 过滤器filter开发 resteasy的filter vertx的filter Quarkus中的跨域 前言 Quarkus中的web模块是基于java标准web规范jax-rs构建的,实现则选用了jboss的resteasy.这部分只是请求路由转发部分实现.真正的请求接收则使用了eclipse开源的vert.x框架,底层也是基于netty的一个响应式开发框架.Quarkus将vert.x和resteasy集成在了一起,所以支持响应式和非响应式应用混合开发,这也是Qua

  • 详解AngularJS中$filter过滤器使用(自定义过滤器)

    1.内置过滤器 * $filter 过滤器,是angularJs中用来处理数据以更好的方式展示给我用户.比如格式化日期,转换大小写等等. * 过滤器即有内置过滤器也支持自定义过滤器.内置过滤器很多,可以百度.关键是如何使用: * 1.在HTML中直接使用内置过滤器 * 2.在js代码中使用内置过滤器 * 3.自定义过滤器 * * (1)常用内置过滤器 * number 数字过滤器,可以设置保留数字小数点后几位等 * date 时间格式化过滤器,可自己设置时间格式 * filter 过滤的数据一般

  • JavaWeb Servlet中Filter过滤器的详解

    JavaWeb Servlet中Filter过滤器的详解 1.简述 Filter过滤器,对web服务器所有web资源进行过滤,从而实现一些特殊的功能(权限访问控制.过滤敏感词汇.压缩响应信息).Filter能够对Servlet容器的请求和响应进行检查和修改,其本身不能生成请求request和响应response,只提供过滤作用(Servlet被调用之前检查Request对象修改其相关信息,Servlet被调用后检查Response修改其相关信息),Filter对象常驻服务器. 2.Lifecyc

  • jQuery表单域属性过滤器用法分析

    本文实例讲述了jQuery表单域属性过滤器用法.分享给大家供大家参考.具体分析如下: 表单内包含各种各样的表单域,使用表单域属性选择器可以很好的获取已被选中的单选按钮,复选框以及列表项,也可以根据是否可用从文档中查找表单域. 1. :checked选择器 用于选择所有被选中的表单域.格式: 复制代码 代码如下: $("selector:checked") 可以是input,radio和checkbox 2. :enabled选择器 用于选择所有可用的表单域,格式: 复制代码 代码如下:

  • php中filter_input函数用法分析

    本文实例分析了php中filter_input函数用法.分享给大家供大家参考.具体分析如下: 在 php5.2 中,内置了filter 模块,用于变量的验证和过滤,过滤变量等操作,这里我们看下如何直接过滤用户输入的内容. fliter 模块对应的 filter_input 函数使用起来非常的简单,例如我们过滤用户输入名为 sample 的 get 参数为整型,那么可以这样写: 复制代码 代码如下: filter_input(input_get, "sample", filter_san

随机推荐