Порой возникает необходимость вынести некоторые параметры за пределы скрипта в котором они используются в отдельный конфигурационный файл, важно чтобы путь до него был не слишком долог, иначе просто забудется, и чтобы параметры можно было легко загрузить из него. Писать свой загрузчик в итак большой системе не очень хочется, так же нужно придумать где хранить сам файл, поэтому возникает закономерный вопрос, можно ли хранить свои настройки в файле 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',
)
Пример файла .settings.php со значениями по умолчанию приведен в статье: Bitrix пример файла .settings.php
В статье приводится пример того как можно подключить только компонент битрикс без подключения его шаблона, чтобы можно было вызвать его метод или получить значения свойств
В статье приводится пример кода для получения директории в которой находится файл компонента.
В статье приводится пример того как можно получить путь до зарегистрированного файла по его ID с помощью метода CFile::getPath($fileId). Так же показано где можно получить ID зарегистрированного файла.
Статья о том как разместить свои настройки не создавая велосипеды и костыли, а используя возможности системы.
grep - удобная и быстрая команда, здесь приведены примеры как произвести рекурсивный поиск в каталоге, поиск среди запущенных процессов и другие.
В статье приводится пример кода подключения bitrix без подключения шаблона сайта. Так же описано когда это может пригодится.