Вот некоторые глобально-доступные константы и функции, которые могут показаться вам полезными во время создания вашего приложения с Cake.
Глобальные функции
Вот глобально-доступные функции 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) приложения не ноль – $var будет выводиться. Если $showHTML true, данные рендерятся в удобный для браузера вид.
a
Возвращает масив параметров, который используется для вызова функции оборачивания (wrapping).
<? function someFunction() { echo print_r(a('foo', 'bar')); }
someFunction(); ?> // output:
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 не ноль.
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 по адресу /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
Возвращает число размерности указанного масива.
fileExistsInPath
string $file
Ищет данное имя файла в директории, в которой находится. Возвращает путь к файлу, если найден такой, или false если – нет.
convertSlash
string $string
Конвертирует прямые слеши в подчеркивание и убирает подчеркивания в начале и конце строки.
Основные константы определения CakePHP
ACL_CLASSNAME: имя текущего исполняющего и управляющего ACL класса для Cake PHP. Эта константа позволяет пользователям интегрировать третестепенные классы. ACL_FILENAME: имя файла, внутри которого можно найти класс ACL_CLASSNAME. AUTO_SESSION: если установлено на false, то session_start() не будет автоматически вызываться, во время обращения к приложению. CACHE_CHECK: если установлено на false, то кеширование отображений отключается для всего приложения. CAKE_SECURITY: определяет уровень безопасности сессий для приложения в соответствии с CAKE_SESSION_TIMEOUT. Можно установить 'low','medium', или 'high'. В зависимости от установок, CAKE_SESSION_TIMEOUT умножается соответственно следующему:
low: 300
medium: 100
high: 10
CAKE_SESSION_COOKIE: имя куки сессии для приложения. CAKE_SESSION_SAVE: устанавливается 'php', 'file', или 'database'.
php: Cake использует управление сессиями PHP по умолчанию (обычно определенное в php.ini)
file: данные сессии хранятся и управляются в /tmp
database: используется управление сессиями базой данных Cake(см. главу «Компонент сессий Cake»).
CAKE_SESSION_STRING: случайная строка, используемая в управлении сессией. CAKE_SESSION_TABLE: имя таблицы для хранения данных сессии (если CAKE_SESSION_SAVE == 'database'). Не включайте тут префикс, если он установлен в настройках соединения с базой данных по умолчанию. CAKE_SESSION_TIMEOUT: количество секунд до окончания действия сессии. Это значение увеличивается в соответсвии с CAKE_SECURITY. COMPRESS_CSS: если установлено на true, то CSS сжимается на выводе. Это требует, чтобы директория /var/cache была доступна для записи веб-сервером. Чтобы вопсользоваться этим, свяжите ваши таблицы стилей, используя /ccss (а не /css) или воспользуйтесь Controller::cssTag(). DEBUG: определяет уровень отчетов об ошибках и отладочных сообщений, который приложение CakePHP будет рендерить. Устанавливайте как значение целое число от 0 до 3.
0: Режим продукции. Не выводятся ошибки и отладочные сообщения.
1: Режим разработки. Показываются и ошибки и отладочные сообщения.
2: То же, что и 1, но еще и выводится SQL.
3: То же что и 2, но с полным дампом текущего объекта (обычно контроллера).
LOG_ERROR: Константа ошибок. Используется для диференциации логирования ошибок и отладочных сообщений. Последняя версия PHP поддерживает LOG_DEBUG. MAX_MD5SIZE: Максимальный размер (в байтах) хеширования md5(). WEBSERVICES: Если установлена на true, то встроенная функциональность веб-сервисов Cake – включена.
Константы пути CakePHP
APP: путь к директории приложения. APP_DIR: имя директории текущего приложения. APP_PATH: абсолютный путь к директории приложения. CACHE: путь к директории кешированных файлов. CAKE: путь к директории cake приложения. COMPONENTS: путь к директории компонентов приложения. CONFIGS: путь к директории файлов конфигурации. CONTROLLER_TESTS: путь к директориям тестовых контроллеров. CONTROLLERS: путь к контроллерам приложения. CSS: путь к директории файлов CSS. ELEMENTS: путь к директории элементов HELPER_TESTS: путь к директории тестовых хелперов. HELPERS: путь к директории хелперов. INFLECTIONS: путь к директории инфлекций (обычно внутри директории конфигурации). JS: путь к директории файлов Java Script. LAYOUTS: путь к директории размещений. LIB_TESTS: путь к директории тестовых библиотек Cake. LIBS: путь к директории библиотек Cake. LOGS: путь к директории логов. MODEL_TESTS: путь к директории тестовых моделей. MODELS: путь к директории моделей. SCRIPTS: путь к директории скриптов Cake. TESTS: путь к директории тестов (родительской для директорий тестовых моделей, контроллеров, и т.д.) TMP: путь к директории tmp. VENDORS: путь к директории вендоров. VIEWS: путь к директории отображений.
Пути конфигурации webroot CakePHP
CORE_PATH: путь к основным библиотекам Cake. WWW_ROOT: путь к директории webroot приложения (обычно в /cake/) CAKE_CORE_INCLUDE_PATH: путь к основным библиотекам Cake. ROOT: имя родительской директории для index.php Cake PHP. WEBROOT_DIR: имя директории webroot приложения.