Yii 自定义Controller

案例:导出,下载, 上传等。有一个CsvController类,有一个index.php可以实现csv导出功能。内容如下:

Java代码  

  1. <?php  
  2. class CsvController extends CController{  
  3.     public $defaultAction='index';  
  4.       
  5.     public function actionIndex(){  
  6.         // do csv exporting.  
  7.     }  
  8. }  

upload

Java代码  

  1. <?php  
  2. class UploadController extends CController  
  3. {  
  4.     public function actions()  
  5.     {  
  6.         return array(  
  7.             'upload' => array('class' => 'application.extensions.KEditor.KEditorUpload'),  
  8.             'manageJson' => array('class' => 'application.extensions.KEditor.KEditorManage'),  
  9.         );  
  10.     }  
  11. }  

1. 把CsvController.php放到protected/extensions/csv目录下。 
2. 在protected/config/main.php中设置

Java代码  

  1. return array(  
  2.     'defaultController' => 'site',  
  3.     'controllerMap'=>array(  
  4.         'csv'=>array(  
  5.         //Yii::setPathOfAlias('backend', $backend);通过定义别名可以放在任意位置  
  6.             'class'=>'backend.extensions.csv.CsvController'  
  7.         ),  
  8.         'upload'=>array(  
  9.             'class'=>'application.extensions.KEditor.UploadController'  
  10.         ),  
  11.     )  
  12. )  

现在就可以这样调用了

http://localhost/path/to/index.php?r=csv/index

时间: 2024-10-02 06:20:48

Yii 自定义Controller的相关文章

Yii 自定义Widget Portlet

能够重用的小的代码模块,不涉及业务逻辑的,用在跟视图相关的方面比较多,一般把Sidebar,Navigation,Page,JS控件(上传,日历)封装成Widget,但Portlet生成的html系统会自动套2层div在html外面,改变了页面样式,可能操作页面样式布局js等失效 下面以一个随机广告图片为例说明Yii中Widget的用法 1. 调用Widget Java代码   <?php $this->widget('WidgetName'); ?>    或者 Java代码   &l

Spring 怎么拦截自定义Controller方法级别的annotation

问题描述 1.现在我这么一个想法,在Controller的方法上添加一个注解,spring拦截到这个方法的时候,做一些日志处理操作.如:@RequestMapping(value="role_list.do")@LoggerFinder(operationType="查询日志列表")publicStringroleList(){return"role_list";} LoggerFinder是我自定义的注解类型publicclassLoggerI

PHP开发框架Yii Framework教程(10) UI组件 自定义组件

在介绍Yii内置UI组件之前,先介绍一下如何自定义组件,这样也有助于理解CWidget的用法,自定义组件就是重载 CWidget 的init() 和 run() 方法. class MyWidget extends CWidget { public function init() { // 此方法会被 CController::beginWidget() 调用 } public function run() { // 此方法会被 CController::endWidget() 调用 } } 本

PHP开发框架Yii Framework教程(21) UI 组件 自定义Captcha示例

Yii内置的Captcha基本上可以满足大部分需求,如果你对验证码有特殊要求,你可以自定义Captcha,这主要是通过扩展 CCaptchaAction来实现的,本例自定义一个验证码功能,随机产生10以内的加减法,用户需要计算出正确的结果才能通过验证. 本例基于上例Yii Framework 开发教程(20) UI 组件 Captcha示例,做如下修改 首先在protected/components 目 录下创建一个MathCaptchaAction,重载generateVerifyCode,

Yii视图操作之自定义分页实现方法_php实例

本文实例讲述了Yii视图操作之自定义分页实现方法.分享给大家供大家参考,具体如下: 1. 视图文件调用cgridview,clistview时候调用自定义的分页方法 <?php $this->widget('zii.widgets.grid.CGridView', array( 'id'=>'news-grid', 'dataProvider'=>$model->search(), 'filter'=>$model, 'template'=>'{items}{su

详解PHP的Yii框架中的Controller控制器_php技巧

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

PHP YII框架开发小技巧之模型(models)中rules自定义验证规则_php实例

YII的models中的rules部分是一些表单的验证规则,对于表单验证十分有用,在相应的视图(views)里面添加了表单,在表单被提交之前程序都会自动先来这里面的规则里验证,只有通过对其有效的限制规则后才能被提交,可以很有效地保证表单安全和信息的有效性.还是给大家具体说明一下: 以下是视图(views)部分的简单代码: <?php $form=$this->beginWidget('CActiveForm', array( 'id'=>'tag-form', 'enableAjaxVa

Yii初学者必看-yii 表单验证规则

对yii深入了解总结出:希望对初学者有些帮助 Active Record (AR) 是一个流行的 对象-关系映射 (ORM) 技术. 每个 AR 类代表一个数据表(或视图),数据表(或视图)的列在 AR 类中体现为类的属性,一个 AR 实例则表示表中的一行. 常见的 CRUD 操作作为 AR 的方法实现.因此,我们可以以一种更加面向对象的方式访问数据. 例如,我们可以使用以下代码向 tbl_post 表中插入一个新行. yii 表单验证规则 <?php classContactFormexten

PHP的Yii框架中View视图的使用进阶_php技巧

视图名 渲染视图时,可指定一个视图名或视图文件路径/别名,大多数情况下使用前者因为前者简洁灵活, 我们称用名字的视图为 视图名. 视图名可以依据以下规则到对应的视图文件路径: 视图名可省略文件扩展名,这种情况下使用 .php 作为扩展, 视图名 about 对应到 about.php 文件名: 视图名以双斜杠 // 开头,对应的视图文件路径为 @app/views/ViewName, 也就是说视图文件在 yii\base\Application::viewPath 路径下找, 例如 //site