`
lesorb
  • 浏览: 122553 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CakePHP开发之控制器-Controller

阅读更多
在CakePHP里,一个controller用于管理应用程序某一方面的逻辑.大多数情况下,controller被用于管理独立model的逻辑,controller的名字总是复数形式.

每个controller可以包含任意数量的方法(action).

一个action,是controller里的一个独立的方法.这个controller.action对象的方法将被Dispatcher类分发执行.

一.Controller变量
$name
使用这个变量来为类设置正确的遵循驼峰命名法(具体见inflector.php).
$users
在controller使用多个model.
$helpers
使用这个变量来让controller在view里面装载helper.HTML helpers是自动被读取的,但是可以用这个变量来指定其他的helper.
$layout
该变量的值为你想为这个controller使用layout的名字.
$autoRender
将这个变量设为false能让action在render之前自动停止.
$beforeFilter
用于想让一些代码在每次action前被调用执行.
将这个变量设置成一个数组,该数组包含了action.
$components
这个变量用来(定义)装载需要的组件.

二.Controoler的主要方法有

1.beforeFilter在每个controller ction 调用前执行它.

2.afterFilter在每个 controller action 调用后执行.

3.set(string $var, mixed $value);
这个方法是view从controller得到数据的主要方法.(和struts中form.set()类似,但是没有get(),因为它不像struts中那样是对一全bean操作)
这个方法可以传递任何数据,当调用了set()后,相应的变量就可以在view中访问到.当有多个变量需要set的时候,可以结合compact函数来操作,如:
$this->set(compact('a','b','c','d',...));


4.redirect(string $url)通过此方法来通知用户应该继续访问什么地方.

5.flash(string $message,string $url,int $pause);这个方法将在你的flash页面(app/views/layouts/flash.ctp)上显示提示信息[$messate],停顿[$pause]秒,然后重定向用户到指定的url.

6.paginate()当查询多条数据需要分页时的相关函数,对应的变量和set()视图方法与之类似.

7.validateErrors()返回在一次不成功的保存中生成的错误个数.

8.validate根据一个model预定义的有效性规则验证该model的数据.

9.render(string $action, string $layout, string $file);方法是在controller action结束时自动调用的,输出名字为action的view.也可以在controlle逻辑里的任意位置调用这个方法输出视图.

10.beforeRender
在controller逻辑之后,并且在输出视图之前被调用.


其他在Object类中定义在controller里仍然可用的方法:

requestAction(string $url, array $option);

这个方法可以在任意位置调用某个controler的action并且返回rener后的视图.
可以用requestAction从另一个controller action 获取数据,也可以从另一个controller获取整个输出后的视图.一般不建议这样来调用加载controller,因为这样的加载相当与两次的逻辑调用,相关的组件,helper,view都将加载,无疑,这增加了系统的开销.

log(string $message, int $type=LOG_ERROR);
这个方法用来记录web应用程序里发生的不同事件.

postConditions(array $data);
用于将传入的$this->data格式化成model条件数组.

三.Controller参数:
在CakePHP controller里,可以通过$this->params来访问controler的参数.
这个变量用来传递到 controller 的数据,以及提供对当前请求信息的访问.
$this->params最常见的用法是用于访问客户端通过POST或者GET方法提交给controller的参数列表.

$this->data

用来处理来自HTML helper的POST表单数据.
$this->params['form']

来自任何表单的POST数据都存储在这里,包括$_FILES里的信息...


1
0
分享到:
评论

相关推荐

    cakephp-cakephp-1.3.8-0-g33afe21

    2. ** Bake 工具**:CakePHP 提供了一个名为 Bake 的命令行工具,用于自动生成代码,如控制器、模型、视图等,以加速开发过程。 3. **ActiveRecord**:CakePHP 使用 ActiveRecord 模式,使得数据库操作变得更加简单...

    cakephp-cakephp-2.0.0-beta-0-g402934f.zip

    3. **控制器(Controller)**:作为模型和视图之间的桥梁,处理用户的请求,调用模型进行业务处理,并将结果传递给视图进行展示。 4. **路由(Routing)**:自动处理URL请求,将其映射到相应的控制器和动作,简化了...

    cakephp-cakephp-1.3.12-32-gb4e3c8a.zip_cakephp 1.3_cakephp1.3_ca

    3. **Controller**:控制器作为Model和View之间的桥梁,处理用户请求,调用模型进行业务处理,并将结果传递给视图进行展示。控制器位于/app/controllers/目录下,每个类对应一个控制器,类名与控制器名相同。 在...

    cakephp-1.2 manual

    8. **哈巴狗(CakePHP Bake Tool)**:这是一个内置的代码生成工具,可以快速生成模型、控制器、视图和其他基础代码,大大加快开发速度。 9. **验证(Validation)**:手册会介绍如何在模型中设置数据验证规则,...

    cakephp-1.3.21.zip

    3. Controller(控制器):作为模型和视图的桥梁,处理用户的请求,调用模型进行数据操作,并将结果传递给视图进行渲染。 二、CakePHP 1.3.21特性 1. 数据验证:提供内置的验证规则,可轻松确保输入数据的有效性,...

    CakePHP 3.5 开发手册文档 CakePHP Cookbook Documentation Release 3.5/共900页 PDF

    - **The Controller Layer**: 控制器层作为模型和视图之间的桥梁,处理用户输入并调用相应的模型方法来获取数据,最后决定如何展示这些数据。 - **CakePHP Request Cycle**: CakePHP 的请求处理流程包括接收 HTTP ...

    PHP快速开发框架cakephp-3.9.7.rar

    4. ** Bake工具**:Bake是CakePHP自带的命令行工具,能够自动生成模型、控制器、视图和基础CRUD操作,大大加快了开发速度。 5. **Security和验证**:CakePHP提供了安全机制,包括防止SQL注入、XSS攻击、CSRF保护等...

    cakephp最新开发文档

    1. **MVC模式**:MVC是一种设计模式,将应用分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。模型负责业务逻辑和数据管理,视图负责呈现用户界面,而控制器处理用户请求并协调模型和视图之间...

    cakephp学习笔记

    开发者可以创建自定义的控制器并继承自AppController,AppController是所有控制器的基类,可以在这里定义全局的功能。 总结来说,CakePHP作为一个高效的PHP框架,提供了完善的工具集,支持快速开发、安全的数据处理...

    cakephp中文手册

    MVC(Model-View-Controller)是一种软件架构设计模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种分离有助于管理复杂的应用程序,使各个部分更加清晰和易于维护。 - **...

    cakephp-2.4.1

    5. ** Bake工具**:Bake是CakePHP内置的代码生成工具,可以帮助开发者快速生成模型、控制器、视图以及测试代码,大大提高了开发效率。 6. **安全特性**:CakePHP提供了多种安全功能,如CSRF(跨站请求伪造)防护、...

    CakePHP PHP MVC框架

    - **Controller**:控制器处理用户请求,调用模型进行数据处理,然后将结果传递给视图进行展示。 ### CakePHP核心特性 1. **路由配置**:CakePHP的路由系统允许开发者自定义URL模式,使URL更友好,易于理解。 2. *...

    CakePHP框架最全中文文档

    - **MVC设计模式**:控制器(Controller)、模型(Model)和视图(View)是CakePHP的核心组成部分。这种模式有助于分离关注点,使得代码更加模块化和易于管理。 - **可扩展性和可重用性**:通过组件(Component)、...

    CakePHP框架最全中文文档.

    1. CakePHP基本结构:CakePHP的核心结构包括三个主要部分——控制器(Controller)、模型(Model)和视图(View)。这三个部分各自负责不同的任务,通过彼此的协作实现应用程序的业务逻辑。 - 控制器:负责响应...

    CakePHP框架指南

    CakePHP框架是一个开源的PHP开发框架,它遵循了多种著名的设计模式,包括ActiveRecord(活动记录)、Association Data Mapping(关联数据映射)、Front Controller(前端控制器)和Model-View-Controller(模型-视图...

    CakePHP-1.2-Cheatsheet

    ### CakePHP 1.2 快查表知识点详解 #### 一、自定义查询类型 ...以上内容涵盖了CakePHP 1.2中模型、控制器和视图的主要知识点,对于开发人员来说,熟悉这些方法和属性可以帮助更高效地进行Web应用开发。

    cakePHP完整实例

    - **控制器(Controller)**:编写控制器处理用户的请求,例如展示待办事项列表、添加新事项、更新事项状态等操作。 - **视图(View)**:设计视图页面展示待办事项的信息,包括显示所有待办事项的列表、添加新事项的...

    cakephp 框架

    3. Controller:控制器是模型和视图之间的桥梁,接收用户请求,调用模型处理数据,然后将结果传递给视图进行显示。 三、主要特性 1. 约定优于配置:CakePHP 设定了许多默认约定,如目录结构、命名规范等,降低了...

Global site tag (gtag.js) - Google Analytics