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

CakePHP开发之调用控制器方法requestAction

阅读更多

有时候,为了调用上的方便,我们需要使用requestAction。

它是CakePHP提供的,实现了无论当前请求在哪里,都能够任意调用的一个简便方法。这在某种程度上违背了MVC的设计理念,但是,为了追求灵活性,CakePHP在后续版本中一直保留了这个特性,并做出了一定的改进。

经过查看,我得知,requestAction是对象类Object中的一个公有方法,是CakePHP中所有其他类的父类,这便能理解为什么它可以在任意位置被访问到了。

但在使用中,我发现requestAction十分耗费资源,效率极差。

在requestAction中最终返回值为:

$dispatcher->dispatch($url, $params);


类Dispatcher是CakePHP中的主要的负责关联路由分发逻辑控制的类,它的一些参数的设定直接影响着最终的执行方式。

url:将要要请求的路径,Dispatcher从这里转发逻辑
return:是否返回视图
bare:布尔值,在layout之前判断布局器
layout:是否返回布局器


关于return的保守代码:

if (array_key_exists('return', $this->params) && $this->params['return'] == 1) {
			$controller->autoRender = false;
		}


如非需要,我不建议去使用requestAction。
1
0
分享到:
评论

相关推荐

    CakePHP 3.4 开发手册文档 CakePHP Cookbook Documentation Release 3.4

    - **控制器层**:作为模型层和视图层之间的桥梁,它负责接收用户的请求,并根据请求调用相应的模型方法处理数据,最后将结果传给视图层显示。 #### CakePHP 请求周期 当一个 HTTP 请求到达时,CakePHP 框架会按照...

    CakePHP框架最全中文文档.

    CakePHP是一个流行的开源PHP框架,遵循模型-视图-控制器(MVC)设计模式,提供了一套完整的开发工具包,让开发者能够快速、高效地创建web应用。CakePHP的中文文档详细介绍了这个框架的基础知识、扩展机制、核心概念...

    cakephp最新开发文档

    6. **Controller**:控制器处理HTTP请求,调用模型进行业务逻辑处理,并决定如何呈现视图。 7. **View**:视图负责渲染用户看到的页面,可以包含PHP代码和各种助手(Helper)以增强功能,如HTML、AJAX和JavaScript...

    CakePHP开发框架

    CakePHP是一个快速开发PHP的开发框架,其中使用了一些常见的设计模式如ActiveRecord,Association Data Mapping,Front Controller以及MVC。其主要目标在于提供一个令任意水平的PHP开发人员都能够快速开发web应用的...

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

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

    cakephp--使用_CakePHP_的_Session_和_Request_Handler_组件

    这可以通过在控制器的`beforeFilter()`方法中调用`$this->Session = $this->Components->load('Session');`来实现。接下来,可以使用`$this->Session->read()`、`$this->Session->write()`和`$this->Session->delete...

    cakephp 框架书籍 英文版

    - **控制器动作**:讲解了控制器中的动作(Action)是什么,以及如何定义和调用它们。 - **请求生命周期回调**:探讨了请求处理过程中的各个阶段,以及如何利用这些阶段执行特定任务。 - **控制器方法**:介绍了控制...

    CakePHP创建验证器

    在Web应用开发中,数据验证是非常重要的环节之一,它能够确保用户提交的数据符合预期的格式和规则,从而提高应用程序的安全性和用户体验。CakePHP是一款非常流行的PHP框架,它内置了一套强大的验证系统,可以帮助...

    cakephp-1.2 manual

    5. **控制器(Controller)**:控制器作为模型和视图之间的桥梁,处理用户请求,调用模型方法,并决定应显示哪个视图。手册会解释控制器的生命周期、动作(Actions)以及如何使用请求对象和响应对象。 6. **路由...

    cakephp的CMS教程

    首先,我们将从创建文章控制器开始,它是整个CMS的核心组件之一。 ### 创建文章控制器 在CakePHP中,控制器(Controllers)是处理HTTP请求并调用模型(Models)进行业务逻辑处理的关键部分。控制器负责协调模型和...

    cakephp-1.3.21.zip

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

    CakePHP框架指南

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

    CakePHP PHP MVC框架

    5. **编写控制器**:处理用户请求,调用模型方法。 6. **构建视图**:根据控制器传递的数据,生成用户界面。 7. **部署**:将项目文件上传至服务器,配置好环境,即可运行。 ### 文件列表介绍 - **Cake中文手册....

    CakePHP框架最全中文文档

    - `beforeFilter()`:在控制器的动作执行前调用,可用于设置过滤器等。 - `beforeRender()`:在视图渲染前调用,用于处理视图相关的逻辑。 - `afterFilter()`:在控制器动作执行完毕后调用,可用于处理如响应头...

    cakephp学习笔记

    控制器中的动作(Action)对应着特定的URL请求,当请求与控制器的动作匹配时,CakePHP的请求分发器会调用相应动作完成处理。开发者可以创建自定义的控制器并继承自AppController,AppController是所有控制器的基类,...

    最简单的方法来安装CakePHP

    标题中的“最简单的方法来安装CakePHP”表明我们将探讨如何以最简便的方式在你的开发环境中设置和安装CakePHP,这是一个非常流行的PHP开发框架。CakePHP以其MVC(模型-视图-控制器)架构模式,丰富的功能和易于学习...

    cakephp 框架1.3.11版本

    6. **烤箱**(Bake):这是CakePHP自带的一个工具,可以自动生成模型、控制器、视图等基础代码,加快开发速度。 7. **错误处理与调试**:CakePHP提供了一套完整的错误处理和调试工具,如DebugKit,便于开发者查找和...

    cakephp 中文文档

    组件是 CakePHP 中一种特殊的类,主要用于简化控制器逻辑,使某些功能可以在多个控制器间共享。例如,`EmailComponent` 可以简化电子邮件的发送过程,使得开发者无需在每个需要发送邮件的控制器中重复编写相同的代码...

    cakephp 1.2版本API

    1.2版本的API提供了关于如何定义控制器、处理动作(Action)以及使用组件(Component)和助手(Helper)的相关说明。 4. 路由(Routing)与URL构造:CakePHP 1.2版本的路由系统允许开发者自定义URL结构,使URL更加...

Global site tag (gtag.js) - Google Analytics