虽然您在 CakePHP 中的日常工作大部分时间都将使用核心类和方法,但 CakePHP 提供了许多全局便捷函数,这些函数可能对您有用。其中许多函数用于 CakePHP 类(加载模型或组件类),但许多其他函数使处理数组或字符串变得更加容易。
我们还将介绍一些在 CakePHP 应用程序中可用的常量。使用这些常量将有助于使升级更加顺利,但它们也是指向 CakePHP 应用程序中某些文件或目录的便捷方式。
以下是 CakePHP 的全局可用函数。它们中的大多数只是其他 CakePHP 功能的便捷包装器,例如调试和翻译内容。默认情况下,只有命名空间函数会自动加载,但是您可以选择通过添加以下内容来加载全局别名
require CAKE . 'functions.php';
到您的应用程序的 config/bootstrap.php
。这样做将加载下面列出的所有函数的全局别名。
此函数处理 CakePHP 应用程序中的本地化。 $string_id
标识翻译的 ID。您可以提供其他参数来替换字符串中的占位符
__('You have {0} unread messages', $number);
您也可以提供一个名称索引的替换数组
__('You have {unread} unread messages', ['unread' => $number]);
注意
有关更多信息,请查看 国际化和本地化 部分。
允许您覆盖单个消息查找的当前域。
在国际化插件时很有用: echo __d('plugin_name', 'This is my plugin');
注意
确保在此处使用插件名称的下划线版本作为域。
允许您覆盖单个复数消息查找的当前域。从域 $domain
中返回由 $singular
和 $plural
标识的计数为 $count
的消息的正确复数形式。
允许您覆盖单个消息查找的当前域。它还允许您指定一个上下文。
上下文是翻译字符串的唯一标识符,使其在同一个域内变得唯一。
允许您覆盖单个复数消息查找的当前域。它还允许您指定一个上下文。从域 $domain
中返回由 $singular
和 $plural
标识的计数为 $count
的消息的正确复数形式。某些语言对于复数消息有多种形式,具体取决于计数。
上下文是翻译字符串的唯一标识符,使其在同一个域内变得唯一。
返回由 $singular
和 $plural
标识的计数为 $count
的消息的正确复数形式。某些语言对于复数消息有多种形式,具体取决于计数。
上下文是翻译字符串的唯一标识符,使其在同一个域内变得唯一。
返回由 $singular
和 $plural
标识的计数为 $count
的消息的正确复数形式。它还允许您指定一个上下文。某些语言对于复数消息有多种形式,具体取决于计数。
上下文是翻译字符串的唯一标识符,使其在同一个域内变得唯一。
用于实例化新的 Cake\Collection\Collection
对象的便利包装器,包装传递的参数。 $items
参数接受 Traversable
对象或数组。
如果核心 $debug
变量为 true
,则打印 $var
。 如果 $showHTML
为 true
或保留为 null
,则数据将被渲染为浏览器友好格式。 如果 $showFrom
未设置为 false
,则调试输出将从调用该输出的行开始。 另请参见 调试
它的行为类似于 debug()
,但执行也会停止。 如果核心 $debug
变量为 true
,则打印 $var
。 如果 $showHTML
为 true
或保留为 null
,则数据将被渲染为浏览器友好格式。 另请参见 调试
print_r()
的便利包装器,并在输出周围添加 <pre>
标签。
JSON 美化打印便利函数,并在输出周围添加 <pre>
标签。
它用于调试对象和数组的 JSON 表示形式。
从可用来源获取环境变量。 如果 $_SERVER
或 $_ENV
被禁用,则用作备用。
此函数还在不支持的服务器上模拟 PHP_SELF
和 DOCUMENT_ROOT
。 实际上,最好始终使用 env()
而不是 $_SERVER
或 getenv()
(尤其是如果计划分发代码),因为它是一个完整的模拟包装器。
htmlspecialchars()
的便利包装器。
将点语法插件名称拆分为其插件和类名称。 如果 $name
没有点,则索引 0 将为 null
。
通常像 list($plugin, $name) = pluginSplit('Users.User');
一样使用。
将命名空间从类名中分离出来。
通常像 list($namespace, $className) = namespaceSplit('Cake\Core\App');
一样使用。
以下大多数常量指的是应用程序中的路径。
应用程序目录的绝对路径,包括尾部斜杠。
等于 app
或应用程序目录的名称。
缓存文件目录的路径。 它可以在多服务器设置中由主机共享。
cake 目录的路径。
根 lib 目录的路径。
config 目录的路径。
带有结尾目录斜杠的 CakePHP 目录的路径。
PHP 的 DIRECTORY_SEPARATOR
的简写,在 Linux 上为 /
,在 Windows 上为 \
。
日志目录的路径。
资源目录的路径。
根目录的路径。
tests 目录的路径。
临时文件目录的路径。
webroot 的完整路径。
应用程序启动时的微秒 Unix 时间戳,作为浮点数。