php cake 文档,CakePHP框架最全中文文档.doc

CakePHP的基本原则

CakePHP的结构

控制器 (Controller),模型 (Model) 及视图 (View) 是 CakePHP 的特色,除此之外它也包含了一些附加的类和对象,使得在 MVC 设计模式下开发更快更有乐趣。组件 (Component)、行为 (Behavior) 及助手 (Helper),提供了可扩展性及可重用性来快速新增功能到你的应用中。现在,我们将站在较高的层级上,接着开始寻找一些关于如何使用这些工具的细节。

控制器扩展──组件(Component)

组件 (Component) 是一个帮助简化控制器逻辑的类。如果你有一些想要在控制器(或应用程序)之间共享使用的逻辑,那么组件通常是很适合的。比如,框架核心提供的 EmailComponent 组件使得创建及发送 email 成为一个轻松的工作。所以并不是在一个控制器内编写发送 email 的方法,而是包装这样的逻辑以便在整个应用中被其他控制器共享使用。

控制器也同样配有回调函数(Callback)。当你需要在 CakePHP 核心操作之间插入一些逻辑时,可利用这些回调函数。可利用的回调函数包括:

beforeFilter(), 在所有的控制器动作逻辑开始之前执行

beforeRender(), 在控制器动作逻辑之后执行,但在视图输出之前

afterFilter(), 在所有的控制器动作逻辑之后执行,包括视图输出。 也许在 afterRender() 与 afterFilter() 之间没有什么不同,除非你手动在你的控制器动作之中呼叫 render() 及此后的包含一些逻辑操作。

视图扩展──助手(Helper)

助手 (Helper) 是用来辅助视图逻辑的类。与组件在控制器中的使用非常类似,助手允许在多个视图中存取及共享显示逻辑。其中一个核心助手是,AjaxHelper,它使得在视图中请求 Ajax 变得十分简单

大多数的应用程序都会有许多重复使用的视图代码片段。CakePHP 使用布局 (layout) 及元素 (elements) 使得重用视图代码更为容易。预设的情况下,每个被控制器渲染的视图都出现在一个布局内。元素被使用在当小片段代码的内容需要被重用在多个视图的时候。

模型扩展──行为(Behavior)

同样的,行为 (Behavior) 是用来在模型之间加入共享功能。举例来说,如果你将用户资料储存在树结构中,你可以具体指定你的 User 模型使用像树结构的行为,并获得在你的树结构中自由操作移除、新增和搬移节点的功能

模型 (Model) 也支持另一个叫做 DataSource 的类。DataSource 是一个让模型以一致的方式操作不同类别数据的抽象层。虽然在 CakePHP 应用中主要的数据来源通常是数据库,但你也可以编写附加的 DataSource 来使模型表达 RSS feeds、CSV 文件、LDAP 目录数据 或 iCal 事件。DataSources 允许你从不同的数据来源来操作记录,而不只限制在使用 SQL 语句。DataSources 也允许你通过 LDAP 模型关联到许多 iCal 事件。

就像控制器一样,模型也有使用回调函数的特性:

beforeFind()

afterFind()

beforeValidate()

beforeSave()

afterSave()

beforeDelete()

afterDelete()

透过这些回调函数的名称,就应该可以了解它们的作用。你可以在讲述模型的章节找到更详细的信息。

应用扩展 Application Extensions

控制器 (Controller)、助手 (Helper)、模型 (Model) 都有各自的父类,你可以用来定义应用层次的更改。 AppController (控制器父类,位置 /app/app_controller.php), AppHelper (助手父类,位置 /app/app_helper.php) 以及 AppModel (模型父类,位置 /app/app_model.php),都是放置你想要在整个应用中所公用控制器、助手或模型功能的好地方。

路由 (Route),尽管不是类或文件,但它在 CakePHP 中扮演请求回应的角色。路由定义 CakePHP 如何对映 URL 与控制器动作之间的关系。默认的路由行为将 "/controller/action/var1/var2" 对映至 Controller::action($var1, $var2),但是你可以使用路由来自定 URL 以及它们如何对应你的应用。

一些在应用中的功能是值得整个打包的。插件 (Plugin) 是一个实现了特定功能的程序包,包含了模型、控制器和视图,并可以延申到多个应用之中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值