首先,在根目录下,app/index.php
require 'webroot' . DIRECTORY_SEPARATOR . 'index.php';
指向app/webroot/index.php下,
依次定义 'ROOT' 等常量...
再加载:basics.php,paths.php,object.php,inflector.php,configure.php,cache.php...
1.basics.php
加载了在CakePHP下常用到的一些基本函数,譬如:
a
将传入此包装方法的所有参数打包成一个单一数组,并返回这个数组;
aa
将传入此包装方法的所有参数打包成一个关联数组,并返回这个数组;
还有一些重写的PHP常用函数,譬如:
e(string $text);
对 echo() 的包装;
e(string $text);
对 echo() 的包装。
low()
对 strtolower() 的包装。
up()
对 strtoupper() 的包装。
r(string $search, string $replace, $subject);
对 str_replace() 的包装。
pr(mixed $data);
相当于:
echo "<pre>" . print_r($data) . "</pre>";
只有当 DEBUG 被设置为非零时它才会输出信息;
am(array $array1, array $array2, ...);
将所有数组合并,并返回得到的新数组;
env(string $key);
可以从任何可用的资源获取到一个环境变量的值
2.paths.php
定义常量:
define('LIBS', CAKE.'libs'.DS);
define('CSS', WWW_ROOT.'css'.DS);
define('JS', WWW_ROOT.'js'.DS);
......
3.object.php
扩展了PHP中对象支持的相关操作,注意到:在支持4版的类实例方法中,register_shutdown_function函数的应用,用以处理某些突发情况下系统函数调用的处理.dispatchMethod方法则负责分发带参函数的正确调用,还有出错处理cakeError等...
4.inflector.php
直译为变形器,它的存在则是专为CakePHP设计的,它保证了,CakePHP中对与函数文件命名规则的约定...
5.configure.php
它则保证了CakePHP作为一个框架的完整性,对系统级的常量加载提供了一种灵活的处理,其中App类一些方法譬如:import导入文件,__settings魔法等等是CakePHP特有的...
6.cache.php
它是CakePHP缓存系统的父类.对于使用哪一种缓存系统,您完全可以灵活处理,默认是你在app/core.php中设置的Cache::config值...