This document is for a version of CakePHP that is no longer supported. Please upgrade to a newer release!

Константы и Функции

В то время как большая часть вашей повседневной работы в 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');

Основные определения констант

Большинство из следующих констант относятся к путям в вашем приложении.

constant APP

Абсолютный путь к вашему каталогу приложений, включая конечную косую черту.

constant APP_DIR

Равно app или имени вашего каталога приложений.

constant CACHE

Путь к каталогу файлов кеша. Он может совместно использоваться хостами в многосерверной настройке.

constant CAKE

Путь к каталогу cake.

constant CAKE_CORE_INCLUDE_PATH

Путь к корневому каталогу lib.

constant CONFIG

Путь к каталогу конфигурации.

constant CORE_PATH

Путь к корневому каталогу, заканчивается слешем.

constant DS

Сокращение DIRECTORY_SEPARATOR, являющийся / для Linux и```` для Windows.

constant LOGS

Путь к каталогу журналов(логов).

constant ROOT

Путь к корневому каталогу..

constant TESTS

Путь к каталогу тестов.

constant TMP

Путь к папке временных файлов.

WWW\_ROOT

Полный путь к webroot.

Сроки определения времени

constant TIME_START

Временная метка Unix в микросекундах как плавающее значение с момента запуска приложения.

constant SECOND

Равно 1

constant MINUTE

Равно 60

constant HOUR

Равно 3600

constant DAY

Равно 86400

constant WEEK

Равно 604800

constant MONTH

Равно 2592000

constant YEAR

Равно 31536000