K4:Константы
From In-Portal Developers Guide
(дополнение) |
|||
Line 1: | Line 1: | ||
{{toc | category = Структура приложения | sortkey = 003.001}} | {{toc | category = Структура приложения | sortkey = 003.001}} | ||
- | + | В К4 константы делятся по смыслу исходя из места их определения на: | |
- | * ''' | + | * '''системные''' - определяются в "<code>core/kernel/startup.php</code>" |
- | * ''' | + | * '''общего применения''' - определяются в "<code>core/kernel/constants.php</code>" |
- | * ''' | + | * '''модульные''' - определяются в необязательном файле "<code><название_модуля>/constants.php</code>" |
- | == | + | == Системные константы == |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! название || описание |
|- | |- | ||
- | | {{ConfigProperty|FULL_PATH}} || | + | | {{ConfigProperty|FULL_PATH}} || Полный путь к сайту в файловой системе сервера. |
|- | |- | ||
- | | {{ConfigProperty|BASE_PATH}} || | + | | {{ConfigProperty|BASE_PATH}} || Директория, в которой находится сайт (относительно [http://lv.php.net/reserved.variables <nowiki>$_SERVER['DOCUMENT_ROOT']</nowiki>]) |
|- | |- | ||
| {{ConfigProperty|REL_PATH}} | | {{ConfigProperty|REL_PATH}} | ||
- | | | + | | Путь от корня проекта до PHP-файла (обычно это "<code>index.php</code>"), на который заходит пользователь. Объявление данной константы должно происходить до или сразу после объявления константы [[#FULL_PATH|FULL_PATH]] в этом PHP-файле. Данная константа должна задаваться во всех случаях, когда PHP-файл не находиться в корне проекта или в его "<code>admin</code>" директории. Примеры: |
- | + | файл: testing/folder/index.php - константа: "testing/folder" | |
- | + | файл: sub_folder/index.php - констана "sub_folder" | |
- | + | Данная константа используется только для корректного получения значения константы [[#BASE_PATH|BASE_PATH]]. Если своевременно не определить данную константу, то ссылки, построенные при помощи метода "<code>kApplicaton::HREF</code>" будут некорректными. | |
|- | |- | ||
- | | {{ConfigProperty|SERVER_NAME}} || | + | | {{ConfigProperty|SERVER_NAME}} || Имя виртуального хоста (<code>VirtualHost</code>), под которым запущен данный сайт (содержание переменной [http://lv.php.net/reserved.variables <nowiki>$_SERVER['SERVER_NAME']</nowiki>]). В случае, если название виртуального хоста получить не удалось, то будет использован хост, указанный в константе [[#DOMAIN|DOMAIN]] (из файла "<code>config.php</code>"). Функциональность работающая в случае, когда не удалось получить имя виртуального хоста доступна начиная с [[K4:Core v 4.3.9|Core v 4.3.9]]. |
|- | |- | ||
- | | {{ConfigProperty|WRITEABLE}} || | + | | {{ConfigProperty|WRITEABLE}} || Содержание констант [[#FULL_PATH|FULL_PATH]] и [[#WRITEABLE_BASE|WRITEABLE_BASE]] вместе. |
|- | |- | ||
- | | {{ConfigProperty|MAX_UPLOAD_SIZE}} || | + | | {{ConfigProperty|MAX_UPLOAD_SIZE}} || Максимальный размер файла, который можно загрузить на сервер (в байтах). |
|} | |} | ||
- | {{ambox | type = refactoring | text = | + | {{ambox | type = refactoring | text = Константы [[#WRITEABLE|WRITEABLE]] и [[#WRITEBALE_BASE|WRITEBALE_BASE]] неправильно названы. По английски они правильно должны называться <code>'''WRITABLE'''</code> и <code>'''WRITABLE_BASE'''</code> соответственно.}} |
- | + | Пример: | |
- | http://alex.prod.intechnic.lv/test_project - | + | http://alex.prod.intechnic.lv/test_project - путь в web browser |
FULL_PATH - "/home/sites/alex/web/test_project" | FULL_PATH - "/home/sites/alex/web/test_project" | ||
BASE_PATH - "/test_project" | BASE_PATH - "/test_project" | ||
Line 37: | Line 37: | ||
WRITEBALE - "/home/sites/alex/web/test_project/system" | WRITEBALE - "/home/sites/alex/web/test_project/system" | ||
- | == | + | == Константы общего применения == |
- | * | + | * распространённые типы записей (статусы) в базе данных: |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! название || описание || значение |
|- | |- | ||
- | | {{ConfigProperty|STATUS_ACTIVE}} || | + | | {{ConfigProperty|STATUS_ACTIVE}} || Запись активна. || <center>1</center> |
|- | |- | ||
- | | {{ConfigProperty|STATUS_DISABLED}} || | + | | {{ConfigProperty|STATUS_DISABLED}} || Запись не активна. || <center>0</center> |
|- | |- | ||
- | | {{ConfigProperty|STATUS_PENDING}} || | + | | {{ConfigProperty|STATUS_PENDING}} || Запись требует подтверждения администратора. || <center>-2</center> |
|} | |} | ||
- | * | + | * статусы секций в дереве в административной консоли: |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! название || описание |
|- | |- | ||
- | | {{ConfigProperty|stTREE}} || | + | | {{ConfigProperty|stTREE}} || Секция присутствует только в дереве (почти все секции). |
|- | |- | ||
- | | {{ConfigProperty|stTAB}} || | + | | {{ConfigProperty|stTAB}} || Секция присутствует только как закладка (см. в [[In-Commerce:Discounts & Coupons]]). |
|} | |} | ||
- | * | + | * статусы завершения [[K4:Events|событий]] в K4: |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! название || описание |
|- | |- | ||
- | | {{ConfigProperty|erSUCCESS}} || | + | | {{ConfigProperty|erSUCCESS}} || Событие успешно завершило своё выполнение. После выполнения события будет сделано перенаправление, выполняемое для того, чтобы пользователь перезагрузив страницу (F5) повторно не вызвал это событие. |
|- | |- | ||
- | | {{ConfigProperty|erFAIL}} || | + | | {{ConfigProperty|erFAIL}} || Событие завершило свою работу, но не выполнило одну или более требуемых задач. Перенаправление происходить не будет. |
|- | |- | ||
- | | {{ConfigProperty|erFATAL}} || | + | | {{ConfigProperty|erFATAL}} || Событие полностью не сделало свою работу ([[K4:Hooks|хуки]] не будут выполняться). Перенаправление происходить не будет. |
|- | |- | ||
- | | {{ConfigProperty|erPERM_FAIL}} || | + | | {{ConfigProperty|erPERM_FAIL}} || Проверка [[К4:Permissions|прав доступа]] не прошла успешно. Автоматически будет выполнено перенаправление на шаблон сообщающий пользователю об отсутствии у него прав на данное событие. |
|- | |- | ||
- | | {{ConfigProperty|erSTOP}} || | + | | {{ConfigProperty|erSTOP}} || Событие возвращает ответ в [[K4:Ajax|AJAX]] запрос. Шаблон не будет обработан после выполнения события, код отладчика тоже добавлен не будет. |
|} | |} | ||
- | * | + | * константы, использующиеся при редактировании содержания сайта через административную консоль. |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! название || описание |
|- | |- | ||
- | | {{ConfigProperty|EDITING_MODE}} || | + | | {{ConfigProperty|EDITING_MODE}} || Данная константа, начиная с [[K4:Core v 5.0.0|Core v 5.0.0]], заменяет собой методы <code>EditMode</code> в обработчике событий и тэгов префикса "<code>st</code>" и "<code>cms</code>". Значение этой константы может быть равно значению описанных ниже 3 констант или нулю, что будет означать, что пользователь не находиться в режиме редактирования содержания сайта. В независимости от режима редактирования содержания сайта оранжевые кнопки "<code>Edit</code>" будут появляться над теми фрагментами содержания страницы, которые можно изменить. Данная константа доступна начиная с [[K4:Core v 5.0.0|Core v 5.0.0]]. |
|- | |- | ||
- | | {{ConfigProperty|EDITING_MODE_CMS}} || | + | | {{ConfigProperty|EDITING_MODE_CMS}} || Режим редактирования сайта, при котором изменяться может только содержание cms-блоков (это был единственный возможный режим редактирования сайта до [[K4:Core v 5.0.0|Core v 5.0.0]]). Данная константа доступна начиная с [[K4:Core v 5.0.0|Core v 5.0.0]]. |
|- | |- | ||
| {{ConfigProperty|EDITING_MODE_LAYOUT}} | | {{ConfigProperty|EDITING_MODE_LAYOUT}} | ||
- | | | + | | Режим редактирования сайта, при котором изменяться может изменяться только содержание блоков, при подключении которых был передан параметр "<code>layout_view</code>": |
<source lang="xml"> | <source lang="xml"> | ||
<inp2:m_RenderElement name="block_name" layout_view="1"/> | <inp2:m_RenderElement name="block_name" layout_view="1"/> | ||
</source> | </source> | ||
- | + | В [[K4:Theme|теме]] "<code>default2007</code>" это блоки "<code>sidebar</code>" и "<code>content</code>" из текущего шаблона. Данная константа доступна начиная с [[K4:Core v 5.0.0|Core v 5.0.0]]. | |
|- | |- | ||
| {{ConfigProperty|EDITING_MODE_DESIGN}} | | {{ConfigProperty|EDITING_MODE_DESIGN}} | ||
| | | | ||
- | + | Режим редактирования сайта, при котором изменяться может только дизайн показываемых на шаблоне блоков, т.е. блоков, которые были указаны в параметре "<code>design</code>" (в примере это "<code>design_block_name</code>") при подключении других (в примере это "<code>element_name</code>") блоков. Например: | |
<source lang="xml"> | <source lang="xml"> | ||
<inp2:m_RenderElement name="element_name" design="design_block_name"/> | <inp2:m_RenderElement name="element_name" design="design_block_name"/> | ||
</source> | </source> | ||
- | + | В [[K4:Theme|теме]] "<code>default2007</code>" это блоки "<code>blue_box</code>" и "<code>content_box</code>". Данная константа доступна начиная с [[K4:Core v 5.0.0|Core v 5.0.0]]. | |
|} | |} | ||
- | * | + | * разное: |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! название || описание || значение |
|- | |- | ||
- | | {{ConfigProperty|ENV_VAR_NAME}} || | + | | {{ConfigProperty|ENV_VAR_NAME}} || Значение данной константы используется для определения названия [[K4:Переменная окружения|переменной окружения]] в запросе к серверу. || <center><code>env</code></center> |
|- | |- | ||
- | | {{ConfigProperty|VALUE_LIST_SEPARATOR}} || | + | | {{ConfigProperty|VALUE_LIST_SEPARATOR}} || Значение, которое будет использоваться для объединения [[K4:Formatters#options|возможных опций]] в полях <code>ValueList</code> (во всех таблицах, кроме таблицы [[K4:ConfigurationAdmin|ConfigurationAdmin]]). || <center><code><nowiki>||</nowiki></code></center> |
|- | |- | ||
| {{ConfigProperty|REGEX_EMAIL_USER}} | | {{ConfigProperty|REGEX_EMAIL_USER}} | ||
- | | | + | | Регулярное выражение, которое проверяет части с именем пользователя в адресе электронной почты (<code>email</code>). Используя константы [[#REGEX_EMAIL_USER|REGEX_EMAIL_USER]] и [[#REGEX_EMAIL_DOMAIN|REGEX_EMAIL_DOMAIN]] можно составить регулярное выражение для проверки адреса электронной почты: |
<source lang="php"> | <source lang="php"> | ||
$regexp = '/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i'; | $regexp = '/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i'; | ||
</source> | </source> | ||
- | + | Константа доступна начиная с [[K4:Core v 4.0.1|Core v 4.0.1]]. | |
| <pre>[-a-zA-Z0-9!\#$%&*+\/=?^_`{|}~.]+</pre> | | <pre>[-a-zA-Z0-9!\#$%&*+\/=?^_`{|}~.]+</pre> | ||
|- | |- | ||
| {{ConfigProperty|REGEX_EMAIL_DOMAIN}} | | {{ConfigProperty|REGEX_EMAIL_DOMAIN}} | ||
- | | | + | | Регулярное выражение, которое проверяет части с доменом (<code>domain</code>) в адресе электронной почты (<code>email</code>). Используя константы [[#REGEX_EMAIL_USER|REGEX_EMAIL_USER]] и [[#REGEX_EMAIL_DOMAIN|REGEX_EMAIL_DOMAIN]] можно составить регулярное выражение для проверки адреса электронной почты: |
<source lang="php"> | <source lang="php"> | ||
$regexp = '/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i'; | $regexp = '/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i'; | ||
</source> | </source> | ||
- | + | Константа доступна начиная с [[K4:Core v 4.0.1|Core v 4.0.1]]. | |
| <pre>[a-zA-Z0-9]{1}[-.a-zA-Z0-9_]*\.[a-zA-Z]{2,6}</pre> | | <pre>[a-zA-Z0-9]{1}[-.a-zA-Z0-9_]*\.[a-zA-Z]{2,6}</pre> | ||
+ | |- | ||
+ | | {{ConfigProperty|ALLOW_DEFAULT_SETTINGS}} | ||
+ | | Данная константа задумана для передачи в метод "<code>kApplication::RecallPersistentVar</code>" в качестве значения по умолчанию. Это подробнее показано на приведённом ниже примере. | ||
+ | <source lang="php"> | ||
+ | $value = $this->Application->RecallPersistentVar('VarName', ALLOW_DEFAULT_SETTINGS); | ||
+ | </source> | ||
+ | Если требуемой переменной в таблице [[K4:PersistentSessionData|PersistentSessionData]] нету и используется эта константа, то будет возвращено значение этой переменной взятое у пользователя, указанного в конфигурационной переменной [[K4:Configuration#DefaultSettingsUserId|DefaultSettingsUserId]]. Данная константа доступна начиная с [[K4:Core v 4.2.2|Core v 4.2.2]]. | ||
+ | | <center><code>_USE_DEFAULT_USER_DATA_</code></center> | ||
|} | |} | ||
- | + | Константы это идентификаторы значений, которые не могут изменяться по ходу выполнения скрипта. | |
- | == config.php | + | == Константы из config.php == |
- | + | В базовой директории проекта (той, что в [[#FULL_PATH|FULL_PATH]] константе) находиться файл <code>config.php</code>, который содержит настройки для подключения к базе данных и ряд других параметров, которые при инициализации K4 превращаются в константы. На данный файл '''нельзя''', не в коем случае, '''делать commit'''. По своему формату этот файл похож на обычный ini файл. Единственное отличие это расширение файла и защитная php конструкция в его начале. | |
{| class="prettytable" | {| class="prettytable" | ||
- | ! | + | ! название константы || название опции || описание |
|- | |- | ||
- | | {{ConfigProperty|SQL_TYPE}} || <code>DBType</code> || | + | | {{ConfigProperty|SQL_TYPE}} || <code>DBType</code> || Тип сервера баз данных. Пока поддерживается только MySQL. |
|- | |- | ||
- | | {{ConfigProperty|SQL_SERVER}} || <code>DBHost</code> || IP | + | | {{ConfigProperty|SQL_SERVER}} || <code>DBHost</code> || IP адрес или имя сервера баз данных. |
|- | |- | ||
- | | {{ConfigProperty|SQL_USER}} || <code>DBUser</code> || | + | | {{ConfigProperty|SQL_USER}} || <code>DBUser</code> || Имя пользователя, для подключения к базе данных. |
|- | |- | ||
- | | {{ConfigProperty|SQL_PASS}} || <code>DBUserPassword</code> || | + | | {{ConfigProperty|SQL_PASS}} || <code>DBUserPassword</code> || Пароль, для подключения к базе данных. |
|- | |- | ||
- | | {{ConfigProperty|SQL_DB}} || <code>DBName</code> || | + | | {{ConfigProperty|SQL_DB}} || <code>DBName</code> || Название базы данных. |
|- | |- | ||
- | | {{ConfigProperty|SQL_COLLATION}} || <code>DBCollation</code> || | + | | {{ConfigProperty|SQL_COLLATION}} || <code>DBCollation</code> || Тип сопоставления строк, используемый при работе базой данных (напр. "<code>utf8_general_ci</code>"). |
|- | |- | ||
- | | {{ConfigProperty|SQL_CHARSET}} || <code>DBCharset</code> || | + | | {{ConfigProperty|SQL_CHARSET}} || <code>DBCharset</code> || Кодировка данных, используемая при работе базой данных (напр. "<code>utf8</code>"). |
|- | |- | ||
- | | {{ConfigProperty|TABLE_PREFIX}} || <code>TablePrefix</code> || | + | | {{ConfigProperty|TABLE_PREFIX}} || <code>TablePrefix</code> || Префикс таблиц проекта в базе данных. |
|- | |- | ||
- | | {{ConfigProperty|DOMAIN}} || <code>Domain</code> || | + | | {{ConfigProperty|DOMAIN}} || <code>Domain</code> || Домен, на котором сайт находиться. Используется для выхода из SSL-режима, а также для проверки лицензии в <code>In-Portal</code>. |
|- | |- | ||
- | | {{ConfigProperty|ADMIN_DIRECTORY}} || <code>AdminDirectory</code> || | + | | {{ConfigProperty|ADMIN_DIRECTORY}} || <code>AdminDirectory</code> || Расположение директории с административной консолью относительно [[#FULL_PATH|FULL_PATH]]. Доступна, начиная с [[K4:Core v 4.3.0|Core v 4.3.0]]. |
|- | |- | ||
- | | {{ConfigProperty|EDITOR_PATH}} || <code>EditorPath</code> || | + | | {{ConfigProperty|EDITOR_PATH}} || <code>EditorPath</code> || Расположение директории с <code>FCKEditor</code> относительно [[#FULL_PATH|FULL_PATH]] (обычно "<code>/core/editor/</code>"). Доступна, начиная с [[K4:Core v 4.3.2|Core v 4.3.2]]. |
|- | |- | ||
- | | {{ConfigProperty|WRITEABLE_BASE}} || <code>WriteablePath</code> || | + | | {{ConfigProperty|WRITEABLE_BASE}} || <code>WriteablePath</code> || Директория, в которую имеет право писать сервер (обычно "<code>/system</code>"). |
|- | |- | ||
- | | {{ConfigProperty|APPLICATION_CLASS}} || <code>ApplicationClass</code> || | + | | {{ConfigProperty|APPLICATION_CLASS}} || <code>ApplicationClass</code> || Класс, который используется для создания объекта [[K4:Application|Application]], например "<code>EApplication</code>". |
|- | |- | ||
- | | {{ConfigProperty|APPLICATION_PATH}} || <code>ApplicationPath</code> || | + | | {{ConfigProperty|APPLICATION_PATH}} || <code>ApplicationPath</code> || Расположение файла с классом, указанным в [[#APPLICATION_CLASS|APPLICATION_CLASS]] относительно корня сайта (с указанием "<code>/</code>" спереди), например. "<code>/custom/units/sections/e_application.php</code>". |
|} | |} |
Revision as of 17:07, 4 November 2009
| ||
---|---|---|
Статьи в этой категории | ||
В К4 константы делятся по смыслу исходя из места их определения на:
- системные - определяются в "
core/kernel/startup.php
" - общего применения - определяются в "
core/kernel/constants.php
" - модульные - определяются в необязательном файле "
<название_модуля>/constants.php
"
Системные константы
название | описание |
---|---|
FULL_PATH | Полный путь к сайту в файловой системе сервера. |
BASE_PATH | Директория, в которой находится сайт (относительно $_SERVER['DOCUMENT_ROOT']) |
REL_PATH
| Путь от корня проекта до PHP-файла (обычно это "index.php "), на который заходит пользователь. Объявление данной константы должно происходить до или сразу после объявления константы FULL_PATH в этом PHP-файле. Данная константа должна задаваться во всех случаях, когда PHP-файл не находиться в корне проекта или в его "admin " директории. Примеры:
файл: testing/folder/index.php - константа: "testing/folder" файл: sub_folder/index.php - констана "sub_folder" Данная константа используется только для корректного получения значения константы BASE_PATH. Если своевременно не определить данную константу, то ссылки, построенные при помощи метода " |
SERVER_NAME | Имя виртуального хоста (VirtualHost ), под которым запущен данный сайт (содержание переменной $_SERVER['SERVER_NAME']). В случае, если название виртуального хоста получить не удалось, то будет использован хост, указанный в константе DOMAIN (из файла "config.php "). Функциональность работающая в случае, когда не удалось получить имя виртуального хоста доступна начиная с Core v 4.3.9.
|
WRITEABLE | Содержание констант FULL_PATH и WRITEABLE_BASE вместе. |
MAX_UPLOAD_SIZE | Максимальный размер файла, который можно загрузить на сервер (в байтах). |
Исходный код требует реорганизации (refactoring ).Константы WRITEABLE и WRITEBALE_BASE неправильно названы. По английски они правильно должны называться WRITABLE и WRITABLE_BASE соответственно. |
Пример:
http://alex.prod.intechnic.lv/test_project - путь в web browser FULL_PATH - "/home/sites/alex/web/test_project" BASE_PATH - "/test_project" SERVER_NAME - "alex.prod.intechnic.lv" WRITEBALE_BASE - "/system" WRITEBALE - "/home/sites/alex/web/test_project/system"
Константы общего применения
- распространённые типы записей (статусы) в базе данных:
название | описание | значение |
---|---|---|
STATUS_ACTIVE | Запись активна. | |
STATUS_DISABLED | Запись не активна. | |
STATUS_PENDING | Запись требует подтверждения администратора. | |
- статусы секций в дереве в административной консоли:
название | описание |
---|---|
stTREE | Секция присутствует только в дереве (почти все секции). |
stTAB | Секция присутствует только как закладка (см. в In-Commerce:Discounts & Coupons). |
- статусы завершения событий в K4:
название | описание |
---|---|
erSUCCESS | Событие успешно завершило своё выполнение. После выполнения события будет сделано перенаправление, выполняемое для того, чтобы пользователь перезагрузив страницу (F5) повторно не вызвал это событие. |
erFAIL | Событие завершило свою работу, но не выполнило одну или более требуемых задач. Перенаправление происходить не будет. |
erFATAL | Событие полностью не сделало свою работу (хуки не будут выполняться). Перенаправление происходить не будет. |
erPERM_FAIL | Проверка прав доступа не прошла успешно. Автоматически будет выполнено перенаправление на шаблон сообщающий пользователю об отсутствии у него прав на данное событие. |
erSTOP | Событие возвращает ответ в AJAX запрос. Шаблон не будет обработан после выполнения события, код отладчика тоже добавлен не будет. |
- константы, использующиеся при редактировании содержания сайта через административную консоль.
название | описание |
---|---|
EDITING_MODE | Данная константа, начиная с Core v 5.0.0, заменяет собой методы EditMode в обработчике событий и тэгов префикса "st " и "cms ". Значение этой константы может быть равно значению описанных ниже 3 констант или нулю, что будет означать, что пользователь не находиться в режиме редактирования содержания сайта. В независимости от режима редактирования содержания сайта оранжевые кнопки "Edit " будут появляться над теми фрагментами содержания страницы, которые можно изменить. Данная константа доступна начиная с Core v 5.0.0.
|
EDITING_MODE_CMS | Режим редактирования сайта, при котором изменяться может только содержание cms-блоков (это был единственный возможный режим редактирования сайта до Core v 5.0.0). Данная константа доступна начиная с Core v 5.0.0. |
EDITING_MODE_LAYOUT
| Режим редактирования сайта, при котором изменяться может изменяться только содержание блоков, при подключении которых был передан параметр "layout_view ":
<inp2:m_RenderElement name="block_name" layout_view="1"/> В теме " |
EDITING_MODE_DESIGN
|
Режим редактирования сайта, при котором изменяться может только дизайн показываемых на шаблоне блоков, т.е. блоков, которые были указаны в параметре " <inp2:m_RenderElement name="element_name" design="design_block_name"/> В теме " |
- разное:
название | описание | значение |
---|---|---|
ENV_VAR_NAME | Значение данной константы используется для определения названия переменной окружения в запросе к серверу. | env |
VALUE_LIST_SEPARATOR | Значение, которое будет использоваться для объединения возможных опций в полях ValueList (во всех таблицах, кроме таблицы ConfigurationAdmin). | || |
REGEX_EMAIL_USER
| Регулярное выражение, которое проверяет части с именем пользователя в адресе электронной почты (email ). Используя константы REGEX_EMAIL_USER и REGEX_EMAIL_DOMAIN можно составить регулярное выражение для проверки адреса электронной почты:
$regexp = '/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i'; Константа доступна начиная с Core v 4.0.1. | [-a-zA-Z0-9!\#$%&*+\/=?^_`{|}~.]+ |
REGEX_EMAIL_DOMAIN
| Регулярное выражение, которое проверяет части с доменом (domain ) в адресе электронной почты (email ). Используя константы REGEX_EMAIL_USER и REGEX_EMAIL_DOMAIN можно составить регулярное выражение для проверки адреса электронной почты:
$regexp = '/^(' . REGEX_EMAIL_USER . '@' . REGEX_EMAIL_DOMAIN . ')$/i'; Константа доступна начиная с Core v 4.0.1. | [a-zA-Z0-9]{1}[-.a-zA-Z0-9_]*\.[a-zA-Z]{2,6} |
ALLOW_DEFAULT_SETTINGS
| Данная константа задумана для передачи в метод "kApplication::RecallPersistentVar " в качестве значения по умолчанию. Это подробнее показано на приведённом ниже примере.
$value = $this->Application->RecallPersistentVar('VarName', ALLOW_DEFAULT_SETTINGS); Если требуемой переменной в таблице PersistentSessionData нету и используется эта константа, то будет возвращено значение этой переменной взятое у пользователя, указанного в конфигурационной переменной DefaultSettingsUserId. Данная константа доступна начиная с Core v 4.2.2. | _USE_DEFAULT_USER_DATA_ |
Константы это идентификаторы значений, которые не могут изменяться по ходу выполнения скрипта.
Константы из config.php
В базовой директории проекта (той, что в FULL_PATH константе) находиться файл config.php
, который содержит настройки для подключения к базе данных и ряд других параметров, которые при инициализации K4 превращаются в константы. На данный файл нельзя, не в коем случае, делать commit. По своему формату этот файл похож на обычный ini файл. Единственное отличие это расширение файла и защитная php конструкция в его начале.
название константы | название опции | описание |
---|---|---|
SQL_TYPE | DBType | Тип сервера баз данных. Пока поддерживается только MySQL. |
SQL_SERVER | DBHost | IP адрес или имя сервера баз данных. |
SQL_USER | DBUser | Имя пользователя, для подключения к базе данных. |
SQL_PASS | DBUserPassword | Пароль, для подключения к базе данных. |
SQL_DB | DBName | Название базы данных. |
SQL_COLLATION | DBCollation | Тип сопоставления строк, используемый при работе базой данных (напр. "utf8_general_ci ").
|
SQL_CHARSET | DBCharset | Кодировка данных, используемая при работе базой данных (напр. "utf8 ").
|
TABLE_PREFIX | TablePrefix | Префикс таблиц проекта в базе данных. |
DOMAIN | Domain | Домен, на котором сайт находиться. Используется для выхода из SSL-режима, а также для проверки лицензии в In-Portal .
|
ADMIN_DIRECTORY | AdminDirectory | Расположение директории с административной консолью относительно FULL_PATH. Доступна, начиная с Core v 4.3.0. |
EDITOR_PATH | EditorPath | Расположение директории с FCKEditor относительно FULL_PATH (обычно "/core/editor/ "). Доступна, начиная с Core v 4.3.2.
|
WRITEABLE_BASE | WriteablePath | Директория, в которую имеет право писать сервер (обычно "/system ").
|
APPLICATION_CLASS | ApplicationClass | Класс, который используется для создания объекта Application, например "EApplication ".
|
APPLICATION_PATH | ApplicationPath | Расположение файла с классом, указанным в APPLICATION_CLASS относительно корня сайта (с указанием "/ " спереди), например. "/custom/units/sections/e_application.php ".
|