CakePHP中文手册【翻译】-全局变量和函数
Cake全局变量和函数
在Cake里,有一些全局变量以及全局函数.在用Cake创建你的应用程序时,你会发现他们非常有用。
第1节
全局函数
在Cake里有一些全局函数可用。其中许多是对PHP的某些长命名函数进行再包装,但是其中的一些(例如vendor()和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级别是非0,它会打印出$var变量。
如果$showHTML为true,将会把数据render友好的给浏览器。
- a
返回一个用来调用再包装函数的参数数组。
function someFunction()
{ echo print_r(a('foo', 'bar'));
}
someFunction();
// 输出:
array(
[0] => 'foo',
[1] => 'bar'
) |
- aa
用来创建一个关联数组,此数组来自用来调用包装函数的参数。
echo aa('a','b');
// 输出:
array(
'a' => 'b'
) |
e
- string $text
对echo()的友好包装.
- low
对strtolower()的友好包装.
- up
对strtoupper()的友好包装.
r
- string $search
- string $replace
- string $subject
对str_replace()的友好包装.
pr
- mixed $data
等同于:
echo "<pre>" . print_r($data) . "</pre>"; |
仅当DEBUG是非0时才打印信息。
am
- array $array1
- array $array2...
合并和返回在参数里提供的数组。
env
- string $key成为从可用资源中获得环境变量。如果$_SERVER 或$_ENV不可用,它可以是一个备份。
在不支持的服务器上,本函数也模拟了PHP_SELF 以及DOCUMENT_ROOT。实际上,一直使用env()来代替$_SERVER 或getenv()是一个不错的想法(特别是如果你想发布你的代码时),因为它是一个对环境变量的完全模拟的再包装。
cache
- string $path
- string $expires
- string $target = 'cache'
将$data的数据保存到$path指定的在/app/tmp的路径中作为缓存。$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
返回提供的数组中的容积大小。
fileExistsInPath
- string $file
查询包含给定文件名的路径。如果找到,返回文件路径,否则返回false。
convertSlash
- string $string
将斜线转化为下划线,并删除字符串中的第一个和最后一个下划线。
第2节
CakePHP 核心的定义常量
ACL_CLASSNAME:在CakePHP中,当前完成和管理ACL的类的名称。本常量允许用户和第三方类集成。
ACL_FILENAME:文件名,可以在其中找到类ACL_CLASSNAME。
AUTO_SESSION:如果为false,在对应用程序的请求中不会自动调用session_start()。
CACHE_CHECK:如果设为false,对整个应用程序来说,view缓存将会关闭。
CAKE_SECURITY:根据CAKE_SESSION_TIMEOUT一起为应用程序决定对话级别(level of session),可以设置为'low'(低), 'medium'(中), 或
'high'(高)。根据设置,CAKE_SESSION_TIMEOUT可以为下面的值:
1.
low: 300
2.
medium: 100
3.
high: 10
CAKE_SESSION_COOKIE:应用程序的对话cookie名。
CAKE_SESSION_SAVE: 设置为'php', 'file', 或 'database'
1.
php: Cake使用PHP缺省的session处理方法(通常在php.ini中定义)。
2.
file:在/tmp中保存和管理Session数据。
3.
database:使用Cake的数据库Session处理(为获取更多信息,参看“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()引用CSS。
DEBUG:定义CakePHP应用程序输出的错误报告和调试的级别,可以设置为一个0到3中的整数。
1.
0: 产品模式.不显示错误输出,也不显示调试信息。
2.
1:
Development mode.开发模式。显示警告和错误信息,并伴随调试信息。
3.
2: 和1一样,但有SQL输出。
4.
3: 和2一样,但有当前对象的全部输出(通常是Controller ).
LOG_ERROR:错误常数。用来区别错误日志和调试。PHP目前支持LOG_DEBUG.
MAX_MD5SIZE:完成md5()的最大值(以字节).
WEBSERVICES:如果设置为true,Cake内建的web service功能会启用。
第3节
CakePHP路径常量
APP:应用程序目录的路径
APP_DIR:当前应用程序的app目录的路径
APP_PATH:当前应用程序的app目录的绝对路径
CACHE: cache文件目录的路径。
CAKE:应用程序的cake目录的路径。
COMPONENTS: 应用程序的components目录的路径。
CONFIGS:配置文件目录的路径。
CONTROLLER_TESTS: controller测试目录路径。
CONTROLLERS:应用程序controller路径。
CSS: CSS文件目录路径。
ELEMENTS:元素目录路径。
HELPER_TESTS: helper测试目录路径。
HELPERS: Helper目录路径。
INFLECTIONS: Inflection目录路径(通常在配置目录下面)。
JS: JavaScript目录路径。
LAYOUTS: layout目录路径。
LIB_TESTS: Cake库测试目录的路径。
LIBS: Cake libs目录路径。
LOGS: logs目录路径。
MODEL_TESTS: model测试目录路径。
MODELS: model目录路径。
SCRIPTS: Cake脚本目录路径。
TESTS:测试目录路径(是model,controller等的父目录,测试目录)。
TMP:.tmp目录的路径。
VENDORS: path to the vendors目录路径。
VIEWS: views目录路径。
第4节
CakePHP
Webroot 配置路径
CORE_PATH: Cake核心库路径。
WWW_ROOT: 应用程序的webroot目录路径(通常在/cake/下)。
CAKE_CORE_INCLUDE_PATH: Cake核心库路径。
ROOT:CakePHP的基本inde.php的父目录名。
Last Updated:2006-12-03