<html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="zh-CN">
<meta content="all" name="robots">
<meta name="author" content="www.1x3x.net KJ23 & Luxel">
<meta name="Copyright" content="www.cakephp.org">
<meta name="description" content="CakePHP 中文手册">
<meta content="php cakephp rails rapid develope framework 中文手册" name="keywords">
<title>CakePHP - 中文手册</title>
<!-- 调用样式表 -->
<link rel="stylesheet" href="style/common.css" type="text/css" media="all">
<link type="text/css" rel="stylesheet" href="style/SyntaxHighlighter.css">
<script language="javascript" type="text/javascript" src="js/shCore.js"></script>
<script language="javascript" type="text/javascript" src="js/shBrushPhp.js"></script>
</head>
<body>
<!-- top header begin -->
<div id="top">
<h2>CakePHP - the rapid development php framework</h2>
<h3>中文手册 version1.0 by Ken & Luxel</h3>
</div>
<!-- top header end -->
<!-- main content begin -->
<div id="content">
<p>欢迎转载 留个这里的链接就成,任何建议请发至 zhengkanjie @ gmail.com,你的建议是我的动力, 谢谢</p>
<h2>基本概念</h2>
<h4>Section1 简介</h4>
<p> 本章节篇幅很短,简单的介绍一下MVC概念以及在cake中是如何实现的。如果你对MVC模式很陌生,这个章节将会非常适合你。我们由常规的MVC概念开始我们的讨论,然后用我们的方式在CakePHP中使用MVC模式,并且展示几个简单的示例。</p>
<h4>Section 2 MVC模式</h4>
<p>[TODO 考虑到MVC模式是必需过桥技能,所以建议还是先看一下相关文章,原文很简单,最后补上望海涵]</p>
<h4>Section 3 Cake目录结构一览</h4>
<p>当你解压缩Cake后,会发现有3个主目录</p>
<ul>
<li>app</li><li>cake</li><li>vendors</li>
</ul>
<p>cake目录下是核心lib,通常情况下你不要接触它们。</p>
<p>app目录下是你的程序文件所存放的位置。将app目录和cake目录分开,从而可以使多个应用共享一个cake类库。同样的也使得CakePHP的升级变得很容易:你只需要下载最新的版本并且覆盖原来的类库就可以了。不用担心会覆盖掉你的应用程序文件。</p>
<p>你可以使用vendors目录来存放一些第三方类库。后面的章节将会讲到更多关于vendors的内容,一个最基本的概念就是你可以非常方便的通过vendor()方法来调用vendor类库。</p>
<p>让我们来看一下完整的目录结构:</p>
<div style="width: 700px;">
<pre>/app
/config - 配置文件目录,包括Database, ACL等
/controllers - Controllers文件
/components - Components文件
/index.php - 允许你将app目录部署为DocumentRoot (译注:参见Apache相关配置)
/models - Model文件
/plugins - Plugins文件
/tmp - Cache和日志存放处
/vendors - 你的应用中使用到的第三方类库
/views - 视图文件
/elements - 视图元素文件
/errors - 自定义错误页面
/helpers - Helpers文件
/layouts - 页面布局文件
/pages - 静态页面文件
/webroot - web根目录
/css
/files
/img
/js
/cake - 核心类库,请不要随意修改任何文件,除非你确信你有这个能力
index.php
/vendors - 服务器端的第三方类库</pre>
</div>
<h2>安装CakePHP</h2>
<h4>Section 1 简介</h4>
<p>现在你已经了解了每一件事情,包括系统的结构和整个类库的目的,或者说你略过了上述章节,因为你对这些资料并不感兴趣只是希望快点开始工作。Anyway 你已经摩拳擦掌准备完毕了。</p>
<p>这个章节来介绍了哪些是必须被安装到服务器上的,不同的配置方案,如何下载并安装CakePHP,访问默认页面,以及一些troubleshooting以备一些意外情况的发生。</p>
<h4>Section 2 安装必需</h4>
<p>[TODO 一些译者认为比较基础的内容暂时优先级设为低 完美版释出时会补上]</p>
<h4>Section 3 安装CakePHP</h4>
<p>[TODO]</p>
<h4>Section 4 设置CakePHP</h4>
<p>第一种设置方案仅推荐使用在开发环境下,因为它不是最安全的方案。第二种方案考虑了更多的安全性问题因而可以放心的使用在生产环境下。</p>
<p>注意:/app/tmp 目录必须具有写权限</p>
<h5>开发环境设置</h5>
<p>对于开发环境来说,我们可以把整个Cake目录放置在DocumentRoot下:</p>
<div style="width: 200px;">
<pre>/wwwroot
/cake
/app
/cake
/vendors
.htaccess
index.php
</pre>
</div>
<p>
这样的设置方案下,你的URL会如下这般(假设你使用了mod_rewrite):<br>
www.example.com/cake/controllerName/actionName/param1/param2
</p>
<h5>生产环境设置</h5>
<p>使用生产环境配置,你必须拥有修改Web Server DocumentRoot的权限。那样的话,整个域就如同一个CakePHP应用一般。</p>
<p>生产环境配置使用如下目录结构</p>
<div style="width: 400px;">
<pre>../path_to_cake_install
/app
/config
/controllers
/models
/plugins
/tmp
/vendors
/views
/webroot <-- 这将是你新的DocumentRoot
.htaccess
index.php
/cake
/vendors
.htaccess
index.php
</pre>
</div>
<p>建议修改Apache的配置文件如下:<br>DocumentRoot /path_to_cake/app/webroot</p>
<p>这样的配置下,你的URL将会如下这般:<br>http://www.example.com/controllerName/actionName/param1/param2</p>
<h5>高级设置</h5>
<p>在有些情况下,你希望能够将Cake应用的目录放在磁盘不同目录下。这可能是因为虚拟主机的限制,或者你希望多个app应用能够共享同一个Cake Lib。</p>
<p>对于一个Cake应用,有3个主要组成部分:</p>
<div style="width: 800px;">
<pre> 1.
CakePHP核心Lib - /cake目录下
2.
你的应用的代码(例如:controllers, models, layouts and views) - /app目录下
3.
你的应用web目录下的文件 (例如 图片 js脚本以及css样式文件等) - /app/webroot 目录下
</pre>
</div>
<p>这3个目录都可以放置在磁盘的任意位置,但是webroot目录必须是web server可以访问的。你甚至可以把webroot目录移出app目录,只要你告诉Cake你把它们放到哪里去了。</p>
<p>你需要修改/app/webroot/index.php来完成配置(和Cake一起分发)。你需要修改3个常量:ROOT, APP_DIR, and CAKE_CORE_INCLUDE_PATH。</p>
<div style="width: 650px;">
<pre> 1.
ROOT 为包含app目录的根路径
2.
APP_DIR app目录路径
3.
CAKE_CORE_INCLUDE_PATH Cake核心Lib目录
你的应用web目录下的文件 (例如 图片 js脚本以及css样式文件等) - /app/webroot 目录下
</pre>
</div>
<p style="font-weight: bold;">这是范例:</p>
<pre style="width: 650px;" class="x">/app/webroot/index.php (partial, comments removed)
if (!defined('ROOT'))
{
define('ROOT', dirname(dirname(dirname(__FILE__))));
}
if (!defined('APP_DIR'))
{
define ('APP_DIR', basename(dirname(dirname(__FILE__))));
}
if (!defined('CAKE_CORE_INCLUDE_PATH'))
{
define('CAKE_CORE_INC
评论0