CakePHP Manual翻译2.5:基础概念

基础概念

第一节

介绍

这一节很短,只是介绍一下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的版本信息文件。

你可能感兴趣的:(设计模式,mvc,应用服务器,PHP,cakephp)