В то время как большая часть вашей повседневной работы в CakePHP будет использовать основные классы и методы, CakePHP имеет ряд глобальных функций для удобства, которые могут вам пригодиться. Многие из этих функций предназначены для использования с классами CakePHP (загрузка модели или классы компонентов), но многие другие работают с массивами или строками немного легче.
Мы также рассмотрим некоторые из констант, доступных в приложениях CakePHP. С помощью этих констант можно сделать обновления не только более плавными, но также получить удобные способы указывать определенные файлы или каталоги в приложении CakePHP.
Здесь показаны функции CakePHP, которые доступны глобально. Большинство из них просто удобные обёртки для других функций CakePHP, таких как отладка и перевод контента.
__(string $string_id[, $formatArgs])¶Эта функция обрабатывает локализацию в приложениях CakePHP.
$string_id идентифицирует ID идентификатор перевода.
Вы можете указать дополнительные аргументы для замены определений в строке:
__('You have {0} unread messages', $number);
Вы также можете предоставить список заменяемых имен:
__('You have {unread} unread messages', ['unread' => $number]);
Примечание
Ознакомьтесь с разделом Internationalization & Localization для получения дополнительной информации.
__d(string $domain, string $msg, mixed $args = null)¶Позволяет переопределить текущий домен для поиска одного сообщения.
Полезно при интернационализации плагина:
echo __d('PluginName', 'This is my plugin');
__dn(string $domain, string $singular, string $plural, integer $count, mixed $args = null)¶Позволяет переопределить текущий домен для поиска одного множественного сообщения.
Возвращает правильную множественную форму сообщения, идентифицированную $singular и
$plural для подсчёта суммы $count из домена $domain.
__dx(string $domain, string $context, string $msg, mixed $args = null)¶Позволяет переопределить текущий домен для поиска одного сообщения. Он также позволяет указать контекст.
Контекст - это уникальный идентификатор строки перевода, который делает её уникальной в пределах одного домена.
__dxn(string $domain, string $context, string $singular, string $plural, integer $count, mixed $args = null)¶Позволяет переопределить текущий домен для поиска нескольких множественных сообщений.
Он также позволяет указать контекст. Возвращает правильную множественную форму сообщения,
идентифицированную $singular и $plural для подсчёта суммы $count из домена $domain.
Контекст - это уникальный идентификатор строки перевода, который делает её уникальной в пределах одного домена.
__n(string $singular, string $plural, integer $count, mixed $args = null)¶Возвращает правильную множественную форму сообщения, идентифицированную
$singular и $plural для суммы $count. Некоторые языки имеют
более одной формы для множественных сообщений, зависящих от числа.
__x(string $context, string $msg, mixed $args = null)¶Контекст - это уникальный идентификатор строки перевода, который делает её уникальной в пределах одного домена.
__xn(string $context, string $singular, string $plural, integer $count, mixed $args = null)¶Возвращает правильную множественную форму сообщения, идентифицированную
$singular и $plural для подсчета суммы $count из домена $domain.
Он также позволяет указать контекст. Некоторые языки имеют более одной формы для
множественных сообщений, зависящих от числа.
Контекст - это уникальный идентификатор строки перевода, который делает её уникальной в пределах одного домена.
collection(mixed $items)¶Удобная оболочка для создания нового объекта Cake\Collection\Collection,
обёртка для переданного аргументв. Параметр $items принимает либо объект
Traversable, либо массив.
debug(mixed $var, boolean $showHtml = null, $showFrom = true)¶Изменено в версии 3.3.0: Вызов этого метода вернёт переданный $var, так что вы можете, например,
поместить его в оператор return.
Если основная переменная $debug является true, $var будет распечатан.
Если $showHTML является true или оставлено как null, данные будут
отображены в браузере. Если $showFrom не установлен в false, вывод отладки
начинается со строки, из которой он был вызван. Также см Debugging
dd(mixed $var, boolean $showHtml = null)¶Он ведёт себя как debug(), но выполнение также останавливается.
Если основная переменная $debug является true, печатается $var.
Если $showHTML является true или оставлено как null, данные будут
отображены в браузере.
pr(mixed $var)¶Изменено в версии 3.3.0: Вызов этого метода вернет переданный $var, так что вы можете, например,
поместить его в оператор return.
Удобная обёртка для print_r(), с добавлением тегов <pre> вокруг вывода.
pj(mixed $var)¶Изменено в версии 3.3.0: Вызов этого метода вернёт переданный $var, так что вы можете, например,
поместить его в оператор return.
Функция удобной печати JSON с добавлением тегов <pre> вокруг вывода.
Он предназначен для отладки JSON-представления объектов и массивов.
env(string $key, string $default = null)¶Изменено в версии 3.1.1: Добавлен параметр $default.
Получает переменную окружения из доступных источников. Используется в качестве
резервной копии, если $_SERVER или $_ENV отключены.
Эта функция также эмулирует PHP_SELF и DOCUMENT_ROOT на неподдерживаемых серверах.
На самом деле, это хорошая идея всегда использовать env() вместо $_SERVER или getenv()
(особенно если вы планируете распространять код), так как это полная эмуляция обёртки.
h(string $text, boolean $double = true, string $charset = null)¶Удобная обёртка для htmlspecialchars().
pluginSplit(string $name, boolean $dotAppend = false, string $plugin = null)¶Разделяет имя плагина синтаксиса в своём плагине и имени класса.
Если $name не имеет точки, то индекс 0 будет null.
Обычно используется как list($plugin, $name) = pluginSplit('Users.User');
namespaceSplit(string $class)¶Разделяет пространство имён от имени класса.
Обычно используется как list($namespace, $className) = namespaceSplit('Cake\Core\App');
Большинство из следующих констант относятся к путям в вашем приложении.
APP¶Абсолютный путь к вашему каталогу приложений, включая конечную косую черту.
APP_DIR¶Равно app или имени вашего каталога приложений.
CACHE¶Путь к каталогу файлов кеша. Он может совместно использоваться хостами в многосерверной настройке.
CAKE¶Путь к каталогу cake.
CAKE_CORE_INCLUDE_PATH¶Путь к корневому каталогу lib.
CONFIG¶Путь к каталогу конфигурации.
CORE_PATH¶Путь к корневому каталогу, заканчивается слешем.
DS¶Сокращение DIRECTORY_SEPARATOR, являющийся / для Linux и````
для Windows.
LOGS¶Путь к каталогу журналов(логов).
ROOT¶Путь к корневому каталогу..
TESTS¶Путь к каталогу тестов.
TMP¶Путь к папке временных файлов.
WWW_ROOT¶Полный путь к webroot.
TIME_START¶Временная метка Unix в микросекундах как плавающее значение с момента запуска приложения.
SECOND¶Равно 1
MINUTE¶Равно 60
HOUR¶Равно 3600
DAY¶Равно 86400
WEEK¶Равно 604800
MONTH¶Равно 2592000
YEAR¶Равно 31536000