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 получить путь до зарегистрированного файла

В статье приводится пример того как можно получить путь до зарегистрированного файла по его ID с помощью метода CFile::getPath($fileId). Так же показано где можно получить ID зарегистрированного файла.

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

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

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

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

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

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

Комментарии

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