CakePHP中文手册【翻译】-基本概念
基本概念
第1节
介绍
本章是对MVC概念的一个短小而且随意的介绍,因为这些概念在Cake里得到实现。如果你是一个MVC模式的新人,很显然本章就是为你而写的。我们从MVC的一般概念的讨论开始,然后以我们自己的方式切入到CakePHP里的MVC的特定应用程序,并且展示一些简单的使用MVC模式的CakePHP例子
第2节
MVC模式
Model-View-Controller是一软件设计模式,它帮助你把逻辑和代码进行分离,使代码变得更加可重用,可维护,变得更加优秀。MVC由四人帮第一次描述。Dean Helman写到(它精确来自Objective Toolkit Pro白皮书):
"MVC是一种打破应用程序的方式,甚至仅是一段应用程序的接口,它分成3部分:模型(Model),视图(View),以及控制器(Controller)。MVC的开发原本是为了将传统的输入,处理,输出的角色转化为GUI的层面。”
输入->处理->输出
控制->模型->视图
“用户的输入,外部世界的建模,以及用户的可视化回馈都被模型,视图以及控制对象进行分隔和处理。控制器解释了鼠标和键盘的用户输入,并将这些用户操作映射为命令发送到模型和/或视图口(port),并做出适当的改变。模型管理一个或多个数据元素,并响应它的状态查询以及响应改变状态的指令。视图口管理矩形的显示区域,并负责以图形和文本的组合方式将数据呈现给用户。”
在Cake里,Model代表了一个特定的数据库表/记录,以及与其他表和记录的关系。Model也包含数据的验证规则,当插入或更新model数据时会采用这些规则。View代表Cake的视图文件,他们是正规的嵌入PHP代码的HTML文件。Cake的Controller处理来自Server的请求。它采用用户输入(URL和POST数据),应用业务逻辑,使用Model从数据库和其他数据源读写数据,最后将输出的数据发送到合适的view文件。
为了尽可能简单的组织你的应用程序,Cake使用这个模式,不仅管理这些对象如何和你的应用程序交互,而且还管理文件如何保存,这将在下面详细介绍。
第3节
当你在Server上解压缩Cake包时,你会发现有3个主要的文件夹:
app cake vendors |
cake文件夹是Cake层的核心库所在之处,一般来说,你永远不需要接触他们。
app文件夹是你的应用程序文件夹和文件所在之处。对你来说,cake和app文件夹的分离,让有多个app的文件夹共享单个Cake库变为可能。这同时也让CakePHP的更新变得更为简单:仅需要下载最新版本的Cake,然后覆盖当前的核心库即可。没有必要担心它会覆盖某些编写的应用程序的东西。
你可以使用vendors目录维护第三方库。后面将学习更多关于vendors的知识,但是基本的概念是,你可以使用Cake的vendor()方法访问vendors目录下放置的类。
让我们看看整个层次结构:
/app
/config - 包含数据库,ACL等的config文件
/controllers - 是Controller在这里 /components -
Components 在这里
/index.php - 允许你用/app作为DocumentRoot来部署 /models -
Models在这里
/plugins -
Plugins 在这里
/tmp -用来存放cache和log
/vendors -包含此应用程序的第三方库
/views - Views 在这里 /elements -元素,少量视图 /errors -自定义的错误页面 /helpers - Helper /layouts -应用程序的布局文件 /pages -静态的视图 /webroot -应用程序的 DocumentRoot /css /files
/img /js /cake -Cake的核心库。不要编辑任何文件 index.php /vendors -server级的第三方库 VERSION.txt -让你知道你正在使用哪个版本的Cake |
Last Updated:2006年11月30日