PHP
#php#bitrix#option#union-types#typing#php-8

Bitrix: Option::get с union type возврата (PHP 8.x)

Обёртка над Bitrix\Main\Config\Option::get с явным возвращаемым типом string|int|bool|null для опций, свойств и полей инфоблоков.

Как использовать

  1. Скопируйте нужный фрагмент кода.
  2. Вставьте в свой проект и при необходимости измените под задачу.
  3. Проверьте зависимости и окружение (версии, переменные).

Обёртка над \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 для проверки цифровой строки.