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 регистрация своего события

В статье приводится пример регистрации собственного события в bitrix и добавления на него обработчика.

Bitrix сбросить буфер вывода

Функция RestartBuffer() в Bitrix используется для сброса буфера вывода. Она позволяет прервать вывод страницы на определенном этапе выполнения скрипта и начать вывод заново. В статье рассмотрим основные сценарии использования данной функции, рассмотрим пример кода.

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

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

Как в bitrix получить параметры запроса

Из этой статьи вы узнаете, какие классы и методы в bitrix помогут получить данные запроса без использования глобальных переменных. Это важный навык, который обязательно пригодится в вашей работе.

Bitrix выполнить произвольный sql запрос

В статье приведен пример как выполнить произвольный sql запрос используя стандартные средства Bitrix

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

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

Комментарии

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