欢迎来到天天文库
浏览记录
ID:36667585
大小:2.09 MB
页数:400页
时间:2019-05-13
《cakephp中文文档》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、(一)CakePHP的基本原则A.CakePHP的结构控制器(Controller),模型(Model)及视图(View)是CakePHP的特色,除此之外它也包含了一些附加的类和对象,使得在MVC设计模式下开发更快更有乐趣。组件(Component)、行为(Behavior)及助手(Helper),提供了可扩展性及可重用性来快速新增功能到你的应用中。现在,我们将站在较高的层级上,接着开始寻找一些关于如何使用这些工具的细节。a)控制器扩展──组件(Component)组件(Component)是一个帮助简化控制器逻辑的类。如果你有一些想要在控制器(或应用程序)之间共享使用的逻辑,那么组件
2、通常是很适合的。比如,框架核心提供的EmailComponent组件使得创建及发送email成为一个轻松的工作。所以并不是在一个控制器内编写发送email的方法,而是包装这样的逻辑以便在整个应用中被其他控制器共享使用。控制器也同样配有回调函数(Callback)。当你需要在CakePHP核心操作之间插入一些逻辑时,可利用这些回调函数。可利用的回调函数包括:·beforeFilter(),在所有的控制器动作逻辑开始之前执行·beforeRender(),在控制器动作逻辑之后执行,但在视图输出之前·afterFilter(),在所有的控制器动作逻辑之后执行,包括视图输出。也许在afterR
3、ender()与afterFilter()之间没有什么不同,除非你手动在你的控制器动作之中呼叫render()及此后的包含一些逻辑操作。b)视图扩展──助手(Helper)助手(Helper)是用来辅助视图逻辑的类。与组件在控制器中的使用非常类似,助手允许在多个视图中存取及共享显示逻辑。其中一个核心助手是,AjaxHelper,它使得在视图中请求Ajax变得十分简单大多数的应用程序都会有许多重复使用的视图代码片段。CakePHP使用布局(layout)及元素(elements)使得重用视图代码更为容易。预设的情况下,每个被控制器渲染的视图都出现在一个布局内。元素被使用在当小片段代码的内
4、容需要被重用在多个视图的时候。a)模型扩展──行为(Behavior)同样的,行为(Behavior)是用来在模型之间加入共享功能。举例来说,如果你将用户资料储存在树结构中,你可以具体指定你的User模型使用像树结构的行为,并获得在你的树结构中自由操作移除、新增和搬移节点的功能模型(Model)也支持另一个叫做DataSource的类。DataSource是一个让模型以一致的方式操作不同类别数据的抽象层。虽然在CakePHP应用中主要的数据来源通常是数据库,但你也可以编写附加的DataSource来使模型表达RSSfeeds、CSV文件、LDAP目录数据或iCal事件。DataSour
5、ces允许你从不同的数据来源来操作记录,而不只限制在使用SQL语句。DataSources也允许你通过LDAP模型关联到许多iCal事件。就像控制器一样,模型也有使用回调函数的特性:·beforeFind()·afterFind()·beforeValidate()·beforeSave()·afterSave()·beforeDelete()·afterDelete()透过这些回调函数的名称,就应该可以了解它们的作用。你可以在讲述模型的章节找到更详细的信息。b)应用扩展ApplicationExtensions控制器(Controller)、助手(Helper)、模型(Model)都
6、有各自的父类,你可以用来定义应用层次的更改。AppController(控制器父类,位置/app/app_controller.php),AppHelper(助手父类,位置/app/app_helper.php)以及AppModel(模型父类,位置/app/app_model.php),都是放置你想要在整个应用中所公用控制器、助手或模型功能的好地方。路由(Route),尽管不是类或文件,但它在CakePHP中扮演请求回应的角色。路由定义CakePHP如何对映URL与控制器动作之间的关系。默认的路由行为将"/controller/action/var1/var2"对映至Controlle
7、r::action($var1,$var2),但是你可以使用路由来自定URL以及它们如何对应你的应用。一些在应用中的功能是值得整个打包的。插件(Plugin)是一个实现了特定功能的程序包,包含了模型、控制器和视图,并可以延申到多个应用之中。用户管理系统或简单的blog也许是一个相当适合的CakePHP插件A.一次典型的CakePHP请求我们已经看过CakePHP的基本成分了,那么现在就来看看各个对象怎么完成一个基本的请求。继续讲我们之前的请求的
此文档下载收益归作者所有