基本概念

第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文件夹是你的应用程序文件夹和文件所在之处。对你来说,cakeapp文件夹的分离,让有多个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日

转载于:https://www.cnblogs.com/confach/articles/547088.html

CakePHP中文手册【翻译】-基本概念相关推荐

  1. 20050620 GNU Bison 中文手册翻译完成

    20050620 GNU Bison 中文手册翻译完成 GNU Bison实际上是使用最广泛的Yacc-like分析器生成器,使用它可以生成解释器,编译器,协议实现等多种程序. 它不但与Yacc兼容还 ...

  2. CakePHP中文手册【翻译】-Cake Blog创建指南

    Cake Blog创建指南 第1节 介绍 欢迎来到Cake.你可能正在使用本指南,因为你想学习更多关于Cake是如何工作的知识.其目的就是为了提高效率,并且让编写代码变得更加有趣.我们希望当你深入代码 ...

  3. CakePHP中文手册【翻译】

    0.声明 1.前言 2.介绍CakePHP 3.基本概念 4.安装CakePHP 5.配置 6.Scaffolding 7.Model 8.Controller 9.View 10.Component ...

  4. CakePHP中文手册【翻译】-请求处理组件

    请求处理组件 第1节 介绍 在Cake里,使用请求处理组件来决定关于进来的HTTP请求信息.你可以使用它更好的通知你的controller关于AJAX请求,得到关于远程客户端IP地址,以及请求的内容类 ...

  5. CakePHP中文手册【翻译】-ACL

    访问控制列表(ACL) 第1节 理解ACL如何工作 最重要,也最强大的事情是需要一系列的访问控制.访问控制列表是一种细粒度,易维护以及易管理的方式来管理应用程序权限.访问控制列表或ACL[1]处理2件 ...

  6. CakePHP 中文手册

    基本概念 Section1 简介 本章节篇幅很短,简单的介绍一下MVC概念以及在cake中是如何实现的.如果你对MVC模式很陌生,这个章节将会非常适合你.我们由 常规的MVC概念开始我们的讨论,然后用 ...

  7. cakephp $this-html-css,CakePHP - 中文手册

    Helper(帮助类) Section 1 Helpers Helper类就是为视图提供了常见且通用的方法,更好更快的格式化或者展现数据. HTML Helper 介绍 HTML Helper是Cak ...

  8. Magento 2中文手册之常见概念解析

    indexer 索引机制 magento2自带索引机制,例如catalog是一个EAV结构,所以catalog的数据很分散,查询效率比较低,系统每次reindex都会把catalog数据通过index ...

  9. bq24773功能分析(中文手册翻译)

    1. 特性 1-4节电池充电控制,输入电压范围4.5-24V 支持IIC 无电池或电池深度放电的情况下支持系统即时启动操作 可在适配器满载时进入补充模式,支持同步BATFET 控制 可编程输入电流限制 ...

最新文章

  1. 【APUE】文件 I/O 操作
  2. 如何在Linux使用Eclipse + CDT开发C/C++程序?
  3. c++ 整数取反_c++ 取反运算符“~”
  4. linux 分隔大文件,linux系统下分割大文件的方法
  5. jQuery选择器总结[转]
  6. CSS3 过渡和动画
  7. caffe︱Places365-CNNs For Scene Recognition
  8. pythonforin替换字符_Python:用一个字符串替换数组中的数字(Python: Replace a number in array with a string)...
  9. 网易互娱基于 Flink 的支付环境全关联分析实践
  10. JAVA----简单的自旋锁
  11. 有关cdsn论坛被封后如何解封
  12. 打破超星封锁——PDG转PDF方法
  13. 表情识别相关论文摘要
  14. Cocos2d-x组件的创建与挂载
  15. php微信登陆流程,thinkphp微信授权登陆具体流程~
  16. Microsoft Excel 教程:如何在 Excel 中创建图表?
  17. W10电脑U盘插入电脑不显示盘符但是“安全删除硬件并弹出媒体”中却有该U盘
  18. 20000字干货,数据分析 Pandas 75个高频操作都在这儿了!
  19. 化妆品护肤DiY的广告界面 简单的jquery 图片无缝滚动
  20. Java 用键盘输入 int型 String型 char型数据 示例:简单计算功能 eclipse

热门文章

  1. 聊天IM的时间戳显示规则
  2. UIAlertController 警告框
  3. 2011-08-15 “can’t create transaction lock on /v...
  4. 分布式共识算法 (Consensus Algorithm)
  5. 5-1 duck typing的概念
  6. 84.负载均衡哈希算法:ip_hash与hash模块
  7. java file 方法_JAVA中File的常用方法
  8. c语言人事管理系统,c语言人事管理系统
  9. oraclejobs_Oracle Scheduler Jobs
  10. 互信息python代码_转:标准化互信息NMI计算步骤及其Python实现