`
rainbow686
  • 浏览: 164186 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CakePHP Manual翻译2.5:基础概念

    博客分类:
  • php
阅读更多

基础概念

第一节

介绍

这一节很短,只是介绍一下MVC在Cake中的实现。加入你刚刚得知MVC模式,那么这一节将非常适合你。下面我们通过CakePHP里面的一些MVC应用来讨论基础的MVC概念,然后展示一些简单的CakePHP中使用MVC模式的例子。

第二节

MVC模式

Model-View-Controller(模型-视图-控制器)是一种软件设计模式,他可以帮助你分离一些逻辑代码,使他们可以复用,更加易于维护,从而变得更好。MVC是有author group Gang of Four(译者注:《设计模式》那本书的四位作者,简称四人组)首先提出的。Dean Helman写到(从Objective Toolkit Pro white paper截取):

“The MVC paradigm is a way of breaking an application, or even just a piece of an application’s interface, into three parts: the model, the view, and the controller. MVC was originally developed to map the traditional input, processing, output roles into the GUI realm.

Input -> Processing -> Output

Controller -> Model -> View

“The user input, the modeling of the external world, and the visual feedback to the user are separated and handled by model, view port and controller objects. The controller interprets mouse and keyboard inputs from the user and maps these user actions into commands that are sent to the model and/or view port to effect the appropriate change. The model manages one or more data elements, responds to queries about its state, and responds to instructions to change state. The view port manages a rectangular area of the display and is responsible for presenting data to the user through a combination of graphics and text.”

在CakePHP中,Model描述了一条数据库表中的记录,并且它可以关联其他表的记录。Model中还包含数据的验证规则,这些规则将在model中的数据向数据库插入和更新的时候起作用。View描述了CakePHP的展现文件,这些文件是一些嵌入了php代码的规则的HTML文件。Cake (CakePHP)的Controller从服务器处理请求。他们获得用户输入(从URL和POST数据中),运行业务逻辑,使用Model从数据库读写数据,然后输出数据到对应的展现文件。

为了尽可能简单的组织你的应用,Cake使用这种模式(当然不是仅仅使用MVC)管理object(对象)如何同你的应用交互,同时也管理你的文件,我们在下一节将详细讨论这个。

第三节

Cake文件布局概览

当你解压Cake后在你的服务器上你会看到下面一些文件夹

      app      cake      vendors

cake文件夹放置了Cake的核心库,一般情况下不需要做修改。

app文件夹是你应用的文文件存放的地方。将cake和app文件夹分开可以使你的多个应用共享一个Cake库。这样也使你升级CakePHP更加便捷:你只需要下载最新的Cake覆盖你现有的Cake库,而不需要担心这样会覆盖你写的应用程序。

vendors目录用于存储第三方的类库。你可以通过Cake的vendor()函数来访问你放置在vendors目录中的类。关于vendors在后面我们会详细介绍。

让我们看看整个文件的布局:

/app    /config          - 包含数据库、ACL等的配置文件. 

    /controllers     - Controllers放在这里         /components  - Components放在这里

    /index.php       - 可以部署cake和/app为服务器的DocumentRoot

    /models          - Models放在这里

    /plugins         - Plugins放在这里

    /tmp             - 用于存储缓存(cache)和日志(logs)

    /vendors         - 应用程序中用到的第三方库放在这里

    /views           - Views放在这里        /elements    - Elements,和少量的views放在这里        /errors      - 自定义的错误页面放在这里        /helpers     - Helpers放在这里        /layouts     - 应用程序布局文件放在这里        /pages       - 静态的展现页面放在这里

    /webroot         - web应用的根目录(DocumentRoot)        /css        /files        /img        /js

/cake                - Cake的核心库。不要编辑这里的文件

index.php           

/vendors             - 用于服务器端的第三方类库。

VERSION.txt          - 你运行的CakePHP的版本信息文件。
分享到:
评论

相关推荐

    cakephp-manual.zip(chm,doc)

    CHM文件通常包含详细的API参考、教程、指南以及示例代码,它将帮助开发者了解 CakePHP 的核心概念、组件、助手函数以及数据库交互等各个方面。通过这个文件,你可以学习如何创建控制器、模型、视图,理解路由机制,...

    cakephp-jsonapi:用于在CakePHP 3.x REST API中构建标准化JSON响应的库集

    cakephp-jsonapi 用于在CakePHP 3.x REST API中构建标准化JSON响应的库集为什么? 我需要一种一致的方法来从我的API控制器获取REST响应。 此外,Controller需要执行一些基本的设置步骤才能正确处理JSON请求/响应。 ...

    CakePHP manual zh 中文手册

    **蛋糕PHP(CakePHP)中文手册** 蛋糕PHP是一款基于MVC(模型-视图-控制器)设计模式的开源PHP框架,用于快速开发Web应用程序。它遵循简洁、实用的原则,为开发者提供了一套强大的工具和约定,使代码更易读、易维护...

    cakephp-1.2 manual

    8. **哈巴狗(CakePHP Bake Tool)**:这是一个内置的代码生成工具,可以快速生成模型、控制器、视图和其他基础代码,大大加快开发速度。 9. **验证(Validation)**:手册会介绍如何在模型中设置数据验证规则,...

    cakephp-codesniffer:CakePHP CodeSniffer插件-用于查找和自动更正编码标准问题。 [不再维护]

    CakePHP CodeSniffer插件 为CakePHP 3.0重写 作者:马克·谢勒(Mark Scherer) 该插件提供了一种在您的应用程序上(或其一部分(例如,插件))运行(默认)嗅探器规则的快速方法。 它具有CakePHP应用程序的良好...

    codetron-cakephp2-api:api插件的codetron配方

    CakePHP 2.x 框架基础 CakePHP 是一款基于 Model-View-Controller(MVC)设计模式的 PHP 框架,它提供了一套结构化的开发流程,便于创建安全、可维护的 web 应用程序。CakePHP 2.x 版本是其较早的一个稳定分支,...

    cakephp-i18n:一个带有I18n相关工具的CakePHP插件

    用于I18n相关工具的CakePHP插件。 介绍 该插件提供: 路由类,用于生成和匹配具有语言前缀的URL。 中间件,它根据URL中的语言前缀使用I18n::setLocale()设置语言环境,并在访问站点根目录时提供重定向到具有语言...

    cakephp-team041:莫纳什大学家庭作业

    【标题】:“cakephp-team041:莫纳什大学家庭作业” 【描述】:“cakephp-team041是莫纳什大学一个课程项目,它涉及到使用PHP编程语言中的CakePHP框架来完成家庭作业任务。这可能包括创建数据库驱动的应用程序、...

    cakephp-codesniffer:CakePHP代码嗅探器

    CakePHP代码嗅探器 此代码可与使用,并根据CakePHP中使用的编码标准检查代码。 该嗅探器软件包完全遵循并在顶部附带许多其他固定器。我应该使用哪个版本? 参见。安装您应该使用composer安装此codeniffer: composer...

    cakephp-version:CakePHP3

    版本CakePHP 4.x插件,可促进版本化的数据库实体安装将以下行添加到应用程序的composer.json : " require " : { " josegonzalez/cakephp-version " : " dev-master "} 接下来是命令: composer update 或者直接运行...

    CakePHP :: Ajax Demo

    This is a simple demo of some of the AJAX helpers now available in CAKE. These helpers are directly modeled on Ruby On Rails. In fact, they were shamelessly ported from rails almost verbatim....

    CakePHP依赖

    ** CakePHP 依赖管理与 Composer 深度解析** 在 PHP 开发中,库和框架之间的依赖关系管理是一项至关重要的任务。CakePHP,一个流行的 PHP 框架,也不例外。为了确保开发过程中所有依赖项都能正确安装和更新,开发者...

    cakePHP3-celke:CakePHP 3 celke课程-具有管理面板的站点

    CakePHP应用程序框架 使用 3.x创建应用程序的框架。 框架源代码可以在这里找到: 。安装下载或更新composer self-update 。 运行php composer.phar create-project --prefer-dist cakephp/app [app_name] 。 如果...

    Learn CakePHP: With Unit Testing, 2nd Edition

    Learn CakePHP: With Unit Testing by Rādhārādhya Dāsa 2016 | ISBN: 1484212134 | English | 114 pages | EPUB | 1 MB Accelerate your development of PHP applications using the popular CakePHP web ...

    cakephp3-bookmarkr:使用 Crud 插件构建的示例 CakePHP 3 应用程序

    使用 Crud 插件的 CakePHP 应用程序示例这是一个示例应用程序,它实现了 CakePHP 手册中的书签教程,但使用了。安装下载或更新composer self-update 。 运行...

    CakePHP入门翻译手册(序)

    以下是关于 CakePHP 和 MVC 模式的一些详细说明: **模型(Model)** 模型是应用程序的核心,负责处理业务逻辑和数据管理。在CakePHP中,模型通常与数据库中的表相对应,可以用来执行CRUD(创建、读取、更新、删除...

    CakePHP-DateRange:一个 Lib 和 Behavior 以促进各种日期范围条件和计算

    CakePHP 日期范围 一个基本的 DateRange 类 安装 git submodule add https://github.com/zeroasterisk/CakePHP-DateRange.git app/Plugin/DateRange or git clone ...

    cakePHP中文翻译

    这份文档是 CakePHP 手册的中文翻译,虽然不完整,但包含了对 CakePHP 的基本介绍和关键概念的解析。 **1. CakePHP简介** 蛋糕PHP借鉴了Ruby on Rails的MVC(模型-视图-控制器)架构模式,为PHP开发者提供了便捷的...

    cakephp-ajax:用于CakePHP的AJAX:用于简化处理AJAX请求的插件

    CakePHP Ajax插件 一个CakePHP插件,使使用AJAX变得容易。 该分支适用于CakePHP 4.0+ 。 有关详细信息,请参见。 这个插件是做什么用的? 基本上是DRY(不要重复自己)和简单的AJAX处理。 演示版 有关实时演示,...

Global site tag (gtag.js) - Google Analytics