> CakePHP中文手册 > Cake的全局常量及方法

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’的类库文件名。

vendor
    string $lib1
    string $lib2…

用来载入位于/vendors目录下的外部类库。你需要提供不包含扩展名’.php’的类库文件名。

debug
    mixed $var
    Boolean $showHtml = false

如果应用程序的DEBUG等级被设置为非零的数字,$var的值将被输出。如果$showHtml的值为true,将在浏览器上显示友好的数据信息。

a

将传入此包装方法(译注:wrapping function,可以将多个参数打包成单一的数组)的所有参数打包成一个单一数组,并返回这个数组。

aa

将传入此包装方法的所有参数打包成一个关联数组,并返回这个数组。

e
    string $text

对方法echo()的包装,使用起来更加方便。

low

对方法strtolower()的包装,使用起来更加方便。

up

对方法strtoupper()得包装,使用起来更加方便。

r
    string $search
    string $replace
    string $subject

对方法str_replace()得包装,使用起来更加方便。

pr
    mixed $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目录的目录名。
上一篇:
下一篇: