Дата последнего изменения: 07.11.2023
Расположено в пространстве имен \Bitrix\Main\Config. Состоит из двух классов: \Bitrix\Main\Config\Configuration и \Bitrix\Main\Config\Option.
Configuration
$realm = \Bitrix\Main\Config\Configuration::getValue("http_auth_realm"); if (is_null($realm)) $realm = "Bitrix Site Manager"
Класс отвечает за глобальные настройки всего приложения. (Это то, что в старом ядре определяется константами.) Класс оперирует единой базой настроек, которые хранятся в файле /bitrix/.settings.php
. Данные хранятся произвольные. Например, для соединений может храниться целый пул данных для именованных соединений.
Option
$cookiePrefix = \Bitrix\Main\Config\Option::get('main', 'cookie_name', 'BITRIX_SM'); $cookieLogin = $request->getCookie($cookiePrefix.'_LOGIN'); $cookieMd5Pass = $request->getCookie($cookiePrefix.'_UIDN');
Является в некоторой степени аналогом класс COption старого ядра и работает с параметрами модулей, сайтов, хранимых в базе данных. Это то, что управляется из административной части: настройки каких-то форм, установка и так далее.
Работа с файлами объектно-ориентированная, вынесена в пространство имён Bitrix\Main\IO и обладает тремя базовыми классами:
Кроме них есть и другие классы, в том числе и абстрактные, для организации иерархии.
В папке bitrix/modules/main/lib
расположена библиотека классов для осуществления разных частых действий, которые вынесены в Main, а не разнесены по разным модулям. В том числе в соответствующих пространствах лежат файлы и API для работы:
Если необходимо использовать HttpRequest при аякс запросах:
Application::getInstance()->getContext()->getRequest()->getPost('name')
то надо учитывать, что CUtil::JSPostUnescape не поможет в случае установки win-1251.
Можно использовать:
use Bitrix\Main\Web\PostDecodeFilter; ... Application::getInstance()->getContext()->getRequest()->addFilter(new PostDecodeFilter)
После этого можно получать декодированные данные через getPost.