Bitrix запись своих настроек в settings.php

Порой возникает необходимость вынести некоторые параметры за пределы скрипта в котором они используются в отдельный конфигурационный файл, важно чтобы путь до него был не слишком долог, иначе просто забудется, и чтобы параметры можно было легко загрузить из него. Писать свой загрузчик в итак большой системе не очень хочется, так же нужно придумать где хранить сам файл, поэтому возникает закономерный вопрос, можно ли хранить свои настройки в файле bitrix/.settings.php ? Да, можно.

Добавление

Файл bitrix/.settings.php возвращает массив, для добавления своих настроек, необходимо добавить новый элемент или элементы в этот массив, например:

<?php

return array(
    'utf_mode' => array(
        ...
    ),
    'cache_flags' => array(
        ...
    ),
    'cookies' => array(
        ...
    ),
    'exception_handling' => array(
        ...
    ),
    'connections' => array(
        ...
    ),
    'cache' => array(
        ...
    ),
// блок со своими настройками 'custom_service_api' => array( 'value' => array( 'url' => 'https://precord.ru/api', 'login' => 'user777',
'token' => 'fjesflj309ke9i093ikesf' ) ), );

Получение своих параметров в коде:

$arConfig = \Bitrix\Main\Config\Configuration::getInstance()->get('custom_service_api');
// $arConfig содержит:
array (
  'url' => 'https://precord.ru/api',
  'login' => 'user777',
  'token' => 'fjesflj309ke9i093ikesf',
)

Код проверен на версиях битрикса c 16 по 22. На более ранних версиях не должно возникнуть проблем, если файл bitrix/.settings.php существует.

Примеры использования:

  • Если есть рабочая и тестовая копия сайта, то можно ввести параметр который будет указывать является ли данный сайт рабочим;
  • На одном из сайтов отправка рассылок (выпусков) происходила с другого почтового сервера, чтобы не загружать основной, настройки для почтового сервера рассылок хранились в .settings.php;
  • Хранение реквизитов доступов для каких-либо api;

Пример файла .settings.php со значениями по умолчанию приведен в статье: Bitrix пример файла .settings.php

Рубрики: PHP Bitrix

Если есть вопросы, что-то в статье не понятно или нашли ошибку, напишите об этом в комментариях, все комментарии читаются и по возможности материал будет доработан.
Популярные статьи

Bitrix подключить класс компонента

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

CSS простой горизонтальный слайдер

В статье приводится пример кода для создания простого горизонтального слайдера с использованием CSS и небольшим количеством JS кода. Для реализации потребуется всего около 60 строк стилей и js кода.

Bitrix 24 получить ссылку на контакт, сделку, компанию, лид и т.д.

В статье приводится пример кода для получения ссылки на контакт, сделку, компанию, лид и т.д. с помощью метода \CCrmOwnerType::GetEntityShowPath()

Bitrix получить путь до компонента

В статье приводится пример кода для получения директории в которой находится файл компонента.

Подключить bitrix без подключения шаблона сайта

В статье приводится пример кода подключения bitrix без подключения шаблона сайта. Так же описано когда это может пригодится.

Bitrix подключить модуль

Так как bitrix состоит из большого количества различных модулей, знать как их правильно подключать просто необходимо.

Комментарии

Комментариев пока нет
Данный сайт использует файлы cookies. Продолжая просмотр сайта, вы соглашаетесь с использованием файлов cookies.
ОК