Bitrix: Option::get с union type возврата (PHP 8.x)
Обёртка над Bitrix\Main\Config\Option::get с явным возвращаемым типом string|int|bool|null для опций, свойств и полей инфоблоков.
Как использовать
- Скопируйте нужный фрагмент кода.
- Вставьте в свой проект и при необходимости измените под задачу.
- Проверьте зависимости и окружение (версии, переменные).
Обёртка над \Bitrix\Main\Config\Option::get() с явным возвращаемым типом. Подходит для опций модулей, свойств и полей, где на выходе может быть строка, число, флаг или пустое значение. Документация: Option::get.
<?php
use Bitrix\Main\Config\Option;
/**
* Получить опцию с явным типом возврата (PHP 8.0+).
* Option::get() возвращает string; пустая строка или отсутствие — null.
*/
function getOption(string $name): string|int|bool|null
{
$value = Option::get('main', $name, null);
if ($value === null || $value === '') {
return null;
}
// Флажок Y/N
if ($value === 'Y' || $value === 'N') {
return $value === 'Y';
}
// Целое число
if (ctype_digit($value)) {
return (int) $value;
}
return $value;
}
Usage:
// В конфиге/хелперах проекта
$useCache = getOption('cache_enabled'); // bool|null
$limit = getOption('list_limit'); // int|string|null
$name = getOption('site_name'); // string|null
Notes:
⚠️ Option::get($moduleId, $optionName, $default) — официальный API Bitrix D7. Третий аргумент — значение по умолчанию при отсутствии опции. ctype_digit() — встроенная функция PHP для проверки цифровой строки.