没有合适的资源?快使用搜索试试~ 我知道了~
全面的cakephp中文文档
资源推荐
资源详情
资源评论
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/octet-stream](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/release/download_crawler_static/9697030/bg1.jpg)
(一) CakePHP 的基本原则
CakePHP 的结构
控制器 ,模型 及视图 是 的特色,除此之外它
也包含了一些附加的类和对象,使得在 设计模式下开发更快更有乐趣。组件
、行为 及助手 ,提供了可扩展性及可重用性来快速新
增功能到你的应用中。现在,我们将站在较高的层级上,接着开始寻找一些关于如何使用这
些工具的细节。
a) 控制器扩展──组件(Component)
组件 是一个帮助简化控制器逻辑的类。如果你有一些想要在控制器或应
用程序之间共享使用的逻辑,那么组件通常是很适合的。比如,框架核心提供的
组件使得创建及发送 成为一个轻松的工作。所以并不是在一个控
制器内编写发送 的方法,而是包装这样的逻辑以便在整个应用中被其他控制器共享使
用。
控制器也同样配有回调函数。当你需要在 核心操作之间插入一些逻辑
时,可利用这些回调函数。可利用的回调函数包括
!在所有的控制器动作逻辑开始之前执行
"!在控制器动作逻辑之后执行,但在视图输出之前
!在所有的控制器动作逻辑之后执行,包括视图输出。 也许在
"与 之间没有什么不同,除非你手动在你的控制器动作之
中呼叫 及此后的包含一些逻辑操作。
b) 视图扩展──助手(Helper)
助手 是用来辅助视图逻辑的类。与组件在控制器中的使用非常类似,助手允许
在多个视图中存取及共享显示逻辑。其中一个核心助手是,#$,它使得在视图中请
求 #$变得十分简单
![](https://csdnimg.cn/release/download_crawler_static/9697030/bg2.jpg)
大多数的应用程序都会有许多重复使用的视图代码片段。使用布局 %&
及元素 '使得重用视图代码更为容易。预设的情况下,每个被控制器渲染的视图
都出现在一个布局内。元素被使用在当小片段代码的内容需要被重用在多个视图的时候。
c) 模型扩展──行为(Behavior)
同样的,行为 是用来在模型之间加入共享功能。举例来说,如果你将用户资
料储存在树结构中,你可以具体指定你的 ('模型使用像树结构的行为,并获得在你的树
结构中自由操作移除、新增和搬移节点的功能
模型 也支持另一个叫做 )*&的类。)*&是一个让模型以一
致的方式操作不同类别数据的抽象层。虽然在 应用中主要的数据来源通常是数据
库,但你也可以编写附加的 )*&来使模型表达 "**'、*文件、+)目
录数据 或 事件。)*&'允许你从不同的数据来源来操作记录,而不只限制在使
用 *,+语句。)*&'也允许你通过 +)模型关联到许多 事件。
就像控制器一样,模型也有使用回调函数的特性:
*
*
)
)
透过这些回调函数的名称,就应该可以了解它们的作用。你可以在讲述模型的章节找到更详
细的信息。
d) 应用扩展 Applicaon Extensions
控制器 、助手 、模型 都有各自的父类,你可以用来定义
应用层次的更改。 控制器父类,位置 --.!
助手父类,位置 --.以及 模型父类,位置
--.,都是放置你想要在整个应用中所公用控制器、助手或模型功能的
好地方。
路由 "&,尽管不是类或文件,但它在 中扮演请求回应的角色。路由定义
如何对映 ("+与控制器动作之间的关系。默认的路由行为将
/---0-1/对映至 20!21,但是你可以
使用路由来自定 ("+以及它们如何对应你的应用。
![](https://csdnimg.cn/release/download_crawler_static/9697030/bg3.jpg)
一些在应用中的功能是值得整个打包的。插件 &3是一个实现了特定功能的程序包,包
含了模型、控制器和视图,并可以延申到多个应用之中。用户管理系统或简单的 3也许
是一个相当适合的 插件
一次典型的 请求
我们已经看过 的基本成分了,那么现在就来看看各个对象怎么完成一个基本
的请求。继续讲我们之前的请求的例子,想象一下我们的朋友 " 刚刚在一个
的应用的首页上点击了“立刻买一个自定义的蛋糕45这个链接。
图 1典型的 请求。
黑色 6请求的元素!灰色 6可选的元素!了;蓝色 6回调方法
0 "点击了指向 --$-'-&%的链接!然后他的浏览
器对你的服务器发出了一个请求。
1 路由&从 ("+ 中解释并提取出这次请求的参数控制器!动作
以及其他在这次请求中影响到业务逻辑的所有其他参数。
7 使用路由后,请求的 ("+ 被映射到一个控制器的动作中在特定的一个控制器的类的
一个方法。在这个例子,是 类的 &%方法。在控制器的所有动作
逻辑执行之前会调用 回调方法。
![](https://csdnimg.cn/release/download_crawler_static/9697030/bg4.jpg)
8 控制器可能会使用模型来处理应用的数据。在这个例子里,控制器使用了一个模型从
数据里得到 " 上次买的东西。在这次操作中所有这个模型适用的回调方法、习
惯和数据源)*&都可能得到实施。即使模型没有被用到,所有
的 控制器的初始化至少都需要一个模型。
9 当模型取得数据后,数据会被返回到控制器。模型的回调方法可能会被实施。
: 控制器可能使用组件对数据进行进一步的加工,或者进行其他的操作例如会话处理、
验证或者发电子邮件。
; 一旦控制器使用了模型和组件以有效地准备数据,就可以使用控制器的 '方法把数
据传送到视图。在数据送到视图前,控制器的回调方法可能会被实施。视图逻
辑会被执行,可能包括了各种元素及或者帮助方法。默认情况下,视图会在一个布
局%&里被渲染。
< 附加的控制器回调方法像 可能被实施。最后,完整的经过渲染的视图代
码就被送到 " 的浏览器了。
档案结构
让我们来看看 的盒子里是用什么组成的。你知道 看起来像是从基本
组成的,但你也同样需要知道它档案是如何组织的。
'
$
'
当你下载了 ,你将看到四个主要的资料夹。 资料夹将是你施展你的魔术之
处这是你放置你应用程序的地方。 资料夹是我们施展我们魔法的地方,请不要修改这
个资料夹里的所有档案,如果你修改而导致魔法失效,我们将无法帮助你除错。' 资料夹
放置了典型的读我、版本更新记录及授权资料档案。最后,' 资料夹是可以放置需要
使用在你应用程序的第三方 函数库
a) App 资料夹
的 目录将是开发应用程序时最常使用的一个。就让我们来更仔细的看 资
料夹里面有些什么
cong
拥有一些 使用的设定。资料库连结的详细资料、启动组态、核心设定
档案及许多应该被储存在这里的档案。
controller
s
包含你的应用程控器及它们的组件。
locale
储存用来国际化的字符档案。
![](https://csdnimg.cn/release/download_crawler_static/9697030/bg5.jpg)
models
包含你的应用程序模型、行为和资料来源。
plugins
包含插件包裹。
tmp
这是用来储存 暂存资料的。实际上储存的资料是看你如何设定
,但这个资料夹通常用来储存模型描述、记录档和会谈资讯。
vendors
所有的第三方类别或函数库应该被放置在这个资料夹。可以简单的以
=>!=>使用它们。也许你会觉得多馀或困惑于此处有
' 而上一层目录内也有 ' 资料夹,这其中的差异是当我们讨论到
管理多应用程序和较为复杂的系统设定时,可以使用不同的配置。
views
展示层的档案被放置在此处元素、错误页面、小帮手、布局和视图档案。
webroot
在产品安装模式下,这个资料夹应该是应用程序的根目录。包含了样式表、影像
和 ?* 档案可放置的资料夹。
) 命名规则
我们是命名规则的拥护者。虽然需要花费一点时间来学习 的命名规则,你省
下更多时间在开发上根据以下的命名规则,你得到不需花钱的功能,以及你将自己从搜寻设
定档维护的恶梦中释放出来。命名规则达成一致的系统开发,允许其它的开发者较容易加入
或是提供协助
的命名规则从许多开发者多年的经验及一些惯例筛选出来。尽管我们建议你开
发时使用命名规则,我们应该提及大部份这些规则简单又直观,特别是在修改旧有系统时较
为轻松容易
a) 档案及类别名称命名规则
一般来说,文件名是由下划线将单词分开,但是类名通常使用驼峰命名法。举例来说,
类 @'''&3' 的文件名会是 '''..&3'.。
然而文件名不一定都以这样的规则来命名。例如:类 的文件名是
,而类 的文件名会是 。
模型及资料库命名规则
模型类别名称是单数且使用骆驼命名法。'、3'、和 "%3' 都
是模型命名规则的例子。
资料表名称对应到 模型是复数且以下划线分隔单字。资料表名称
、3. 和 %.3.!会各自与上述的模型对应。
剩余63页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/b2bf58894ee44d619e8885a5e75f900b_mrwangc.jpg!1)
0xTop10
- 粉丝: 8
- 资源: 3
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)