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 запись своих настроек в settings.php

Статья о том как разместить свои настройки не создавая велосипеды и костыли, а используя возможности системы.

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

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

Команда grep. Примеры использования

grep - удобная и быстрая команда, здесь приведены примеры как произвести рекурсивный поиск в каталоге, поиск среди запущенных процессов и другие.

Комментарии

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