Cake’s Global Constants and Functions Cake的全局常量及方法
Section 1 全局方法
这些都是Cake领域内全局可用的方法。它们中有很多是对PHP长名方法更便利的包装,但是也有一些方法(比如verdor()和uses())可以用来包含代码,或者执行其他有用的功能。如果你想有一个短小精悍的方法来做一些烦人的事情,这里就可以找到答案。
config
读取Cake的核心配置文件。如果成功,返回true。
uses
string $lib1
string $lib2
用来载入Cake的核心类库(位于cake/libs/)。你需要提供不包含扩展名’.php’的类库文件名。
uses(‘sanitize’, ‘security’);
vendor
string $lib1
string $lib2…
用来载入位于/vendors目录下的外部类库。你需要提供不包含扩展名’.php’的类库文件名。
vendor('myWebService', 'nusoap');
debug
mixed $var
Boolean $showHtml = false
如果应用程序的DEBUG等级被设置为非零的数字,$var的值将被输出。如果$showHtml的值为true,将在浏览器上显示友好的数据信息。
a
将传入此包装方法(译注:wrapping function,可以将多个参数打包成单一的数组)的所有参数打包成一个单一数组,并返回这个数组。
function someFunction()
{
echo print_r(a('foo', 'bar'));
}
someFunction();
// output:
array(
[0] => 'foo',
[1] => 'bar'
)
aa
将传入此包装方法的所有参数打包成一个关联数组,并返回这个数组。
echo aa('a','b');
// output:
array(
'a' => 'b'
)
e
string $text
对方法echo()的包装,使用起来更加方便。
low
对方法strtolower()的包装,使用起来更加方便。
up
对方法strtoupper()得包装,使用起来更加方便。
r
string $search
string $replace
string $subject
对方法str_replace()得包装,使用起来更加方便。
pr
mixed $data
一个方便的方法,它等同于:
echo "
" . print_r($data) . "";
只有当DEBUG被设置为非零时它才会输出信息。
am
array $array1
array $array2…
将所有参数数组合并,并返回得到的新数组。
env
string $key
可以从任何可用的资源获取到一个环境变量的值。你可以把它看成$_SERVER或$_ENV的后备(某些情况下,这两个变量也许会被禁用)。
cache
string $path
string $expires
string $target = ‘cache’
将$data里的数据(译注:原文中这里并没有出现$data参数,是否是原作者漏写了?)以缓存形式写入/app/tmp下由$path指定的目录中。由$expires指定的超时时间必须是一个有效的strtotime()字符串。缓存数据的$target(目标)可以为’cache’(缓存)或者’public’(公共数据)。
clearCache
string $search
string $path = ‘views’
string $ext
用来删除缓存目录下的文件,或者说清空缓存目录下的内容。
如果$search是一个字符串,名字与之相匹配的缓存目录或文件会从缓存中被移除。$search也可以是一个数组,这个数组由需要清除的文件或目录的名字组成。如果为空,/app/tmp/cache/views下的所有文件都将被清除。
$path参数用来指定/tmp/cache的哪个目录将被清除。默认为’views’。 $ext参数用来指定你想清除的文件的扩展名。
stripslashes_deep
array $array
递归地将数组所包含的数据里所有斜杠(’/’)去掉(译注:如果该数组里还包含数组元素,将自动递归地对这些数组调用这个方法)。
countdim
array $array
以数字的形式返回数组$array的维度。
fileExistsInPath
string $file
在当前路径下搜索指定的文件。如果找到该文件,返回其路径;否则返回false。
convertSlash
string $string
将指定字符串里的反斜杠(’\’)转换成下划线(’_’),并且去掉的第一个和最后一个下划线。
Section 2 CakePHP内核定义的常量
ACL_CLASSNAME:当前正在运行并管理CakePHP ACL的类的类名。这个常量是为了在适当的时候可以被用来整合第三方的类。
ACL_FILENAME:包含ACL_CLASSNAME类的文件的文件名。
AUTO_SESSION:如果设为false,在处理对应用程序的请求时不会自动调用session_start()。
CACHE_CHECK:如果设为false,在整个应用程序范围内对view不使用缓存。
CAKE_SECURITY:按照CAKE_SESSION_TIMEOUT来决定应用程序的session(会话状态)安全等级(译注:原文中这里本是“accorance”一词,但这个单词在字典里并不存在,笔者认为这里应该是“accordance”)。它可以被设为’low’,’medium’或者’high’。依赖于这个设置,CAKE_SESSION_TIMEOUT将按照下面的规则变化:
low:300
medium:100
high:10
CAKE_SESSION_COOKIE:应用程序的客户端cookie的名称。
CAKE_SESSION_SAVE:可以设为’php’,’file’或者’database’:
php:Cake使用PHP的默认session处理方式(通常被定义在php.ini里)。
file:session数据将被储存并管理在/tmp目录下。
database:使用Cake的数据库session处理(详见“The Cake Session Component”(“Cake的session组件”)一章)
CAKE_SESSION_STRING:一个用于session管理的随机字符串。
CAKE_SESSION_TABLE:储存session数据的表名(如果CAKE_SESSION_SAVE == ’database’)。不要在这里包含表名的前缀,如果你为默认数据库连接已经指定过一个前缀了。
CAKE_SESSION_TIMEOUT:一个session超时所需的持续非活动时间(秒)。这个数字由CAKE_SECURITY决定。
COMPRESS_CSS:如果设为true,CSS样式表将在输出的时候被压缩。想这样做的话,必须让web服务器具有对/var/cache目录的写入权限。在使用的时候,用/ccss(而不是/css)来引用你的样式表,或者使用Controller::cssTag()。
DEBUG:定义由CakePHP程序render的错误报告和调试(debug)输出的等级。可以设置为0到3之间的整数:
0:正式运行模式(Production mode)。没有错误输出,也不会显示调试信息。
1:开发模式(Development mode)。警告和错误都将被显式,并且包括调试信息。
2:和1一样,但是具有SQL输出。
3:和2一样,但是会输出当前对象的完整内存(堆内存)情况(通常是Controller)。
LOG_ERROR:错误常量。用来区分错误日志和错误调试活动。目前PHP支持LOG_DEBUG。
MAX_MD5SIZE:用来控制执行md5()哈希加密的最大输出长度(字节)。
WEBSERVICES:如果设为true,Cake的内置webservices功能将被打开。
Section 3 CakePHP的路径常量
APP:应用程序所处目录的路径。
APP_DIR:当前应用程序的app目录的目录名。
APP_PATH:应用程序app目录的绝对路径。
CACHE:缓存文件所在目录的路径。
CAKE:应用程序的Cake目录的路径。
COMPONENTS:应用程序的components目录的路径。
CONFIGS:配置文件目录的路径。
CONTROLLER_TESTS:controller tests目录的路径。
CONTROLLERS:应用程序的所有controller所在目录的路径。
CSS:CSS文件所在目录的路径。
ELEMENTS:elements目录的路径。
HELPER_TESTS:helper tests目录的路径。
HELPERS:helpers目录的路径。
INFLECTIONS:inflections目录的路径(通常在configuration目录之下)。
JS:JavaScript文件所在目录的路径。
LAYOUTS:layouts目录的路径。
LIB_TESTS:Cake类库tests目录的路径。
LIBS:Cake libs目录的路径。
LOGS:logs目录的路径。
MODEL_TESTS:model tests目录的路径。
MODELS:models目录的路径。
SCRIPTS:Cake scripts目录的路径。
TESTS:tests目录的路径(该目录为models,controller等等tests目录的父目录)。
TMP:tmp目录的路径。
VENDORS:vendors目录的路径。
VIEWS:views目录的路径。
Section 4 CakePHP 网站根目录(Webroot)配置的路径
CORE_PATH:Cake核心类库所在目录的路径。
WWW_ROOT:应用程序的webroot目录的路径(通常在/cake/下)。
CAKE_CORE_INCLUDE_PATH:Cake核心类库所在目录的路径。
ROOT:CakePHP的index.php文件所在目录的路径。
WEBROOT_DIR:应用程序webroot目录的目录名。