CakePHP的配置主要有三个部分:服务器配置,全局配置以及路径设置。PHPChina 开源社区门户 |y G,F Q b.NE
'JV?#uX\O.fZ G0数据库配置
.g4S4pR2B)Id+c]0
,x A'J jO,[ W)n5IZ0 app/config/database.php文件是数据库配置文件。默认安装后并没有database.php
文件,所以你需要复制database.php.default
到database.php
。之后,你可以看到如下:PHPChina 开源社区门户8~(P-H jK0g A o)m0\
PHPChina 开源社区门户P'FDxD-J5j
app/config/database.phpPHPChina 开源社区门户f{|4H_W@i {
var $default = array('driver' => 'mysql',
'connect' => 'mysql_pconnect',
'host' => 'localhost',
'login' => 'user',
'password' => 'password',
'database' => 'project_name' );
Mc h6xm K.D@0$default 连接中的 connect 键允许你指定是否需要连接数据库连接作为持久连接,请仔细阅读database.php.default文件中的注释,以配置你的数据库连接类型。PHPChina 开源社区门户(e"AgS6Og|
r`:eOQ)L-LS'Pz$C W3Z0数据库中的表应遵循下面的命名规则:
p+D(|Q#xbCP0
-
0Qxd0b,a3B(mu0cake使用的表名应该由英文的复数形式组成,如 users, authors, articles。注意,对应的模型使用是单数形式的名称。
h|?O'tx0D0
-
(Wy,lf P[0所有的表都必须有一个叫做 “id” 的主键。PHPChina 开源社区门户!?s-VC"uw
-
^3i4`7e&m n0如果你需要关联表,使用类似“article_id”的外键 。表名是单数,跟下划线,然后是“id”。,必须是小写。
1ileu/wGdJ0S}@`0
-
,cZz7R1c4VI*^/V0另外,也可以遵从下面的命名规则来使用某些功能:
V5qm-x
}t7| ?0
-
PHPChina 开源社区门户`+gV\e:xr k
包含一个 'created' 列PHPChina 开源社区门户-F(B2~+|U _+ig{-Aw
-
5_'O2z)c^0包含一个 'modified' 或者 'updated' 列
{3Aq8w0sRoG0
mAs @-_i/S0你可能注意到了 database.php 文件中还有一个 $test 的连接,填上这个配置(或者添加其他格式类似的配置),然后在你使用的时候将下面的代码放入某个模型中:PHPChina 开源社区门户0Y+H\s!bc B|
var $useDbConfig = 'test';
PHPChina 开源社区门户Z5l3v efSL
你可以按照这种方式加入任何数量的额外连接设置。
,?{}1?SWk8l0PHPChina 开源社区门户QOLYu seg
~!Q s*r?OZ0
3Zp0T ?%Gj%{+m0全局配置
)Q!]*Ag4|%}b _0PHPChina 开源社区门户:{4C'g0}Ga5A0l*G6Kc
CakePHP的全局配置在/app/config/core.php
文件中。尽管我们不喜欢配置文件,但是没有配置确实很难做。在这个文件中你可以进行一些修改,每一项设置的说明都可以在core.php
的注释中找到。
1|6Lp0U/_M7F.Z^0
+t;OhAO\Q?0DEBUG: 将它设成不同的值可以以不同方式帮你在构建应用程序时进行调试。将其指定为一个非零的数值将强制 Cake 输出 pr( ) 和 debug( ) 函数调用的结果,而且会停止消息页面(flash)的自动转向。将其设为2或更高时会将SQL语句打印在页面的地步。同时,当处于调试模式的时候(也就是 DEBUG 被设为 1 或更高),Cake 会渲染某些生成的错误页面,也就是“Missing Controller”(缺少控制器)、“Missing Action”(缺少动作)等。然而,在生产模式下(DEBUG 被设为0),Cake 将渲染 “Not Found”页面,可以通过app/views/errors/error404.thtml
来覆盖这个默认页面。PHPChina 开源社区门户p Jx1cQM
VmB`7p?m w0CAKE_SESSION_COOKIE:将它改成你想要的会话(Session)数据所使用的 Cookie 的名称。
$eZ:S,f yO9QM'i&w0PHPChina 开源社区门户'g8P"sTw PwB@.G
CAKE_SECURITY:将这个值改成表示你想要的会话检查级别的值。根据你在这里提供的设置,Cake 会令会话超时,生成新的会话ID,并删除旧的会话数据。可能的值是:
n|bba|+K0
-
w W1|s.e#l0high: 会话在10分钟无动作后超时,同时会话ID在每一次请求时都会重新生成。PHPChina 开源社区门户wU3Y V#f9o4@Z^ w
-
kq VPq$A'zl0u0medium: 会话在20分钟无动作后超时PHPChina 开源社区门户 }[R*T1{
-
9trt w!fn_8e]0low: 会话在30分钟无动作后超时
)d(J z~%hQ0
8g:lo#a0V4{ b0CAKE_SESSION_SAVE: 指定了如何保存会话数据。可能的值是:PHPChina 开源社区门户I9U E2hm'o
-
PHPChina 开源社区门户,[Z;q Hn$s
cake: 会话数据保存在你的 Cake 安装位置下的 tmp/ 目录PHPChina 开源社区门户%XNV+V8E;l,O2y
-
b;ag,~$C!}|j0php: 会话数据按照 php.ini 所定义的进行保存。PHPChina 开源社区门户_0RL s?km
-
PHPChina 开源社区门户'U&j\ZJk8cc;r
database: 会话数据保存到由“default”键定义的数据库链接中。
%Eh1gcN0
PHPChina 开源社区门户h7hswX4G~
e| f4AFO^UY0PHPChina 开源社区门户LG(J7E7j!q.ws5B
路径设置在这里就不谈了 :)