• Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/entityselector/configuration.php
  • Класс: BitrixUIEntitySelectorConfiguration
  • Вызов: Configuration::createFilter
static function createFilter($moduleId, $className, $options = []): ?BaseFilter
{
	if (!is_string($className))
	{
		return null;
	}

	if (is_string($moduleId))
	{
		Loader::includeModule($moduleId);
	}

	try
	{
		$reflectionClass = new ReflectionClass($className);
		if ($reflectionClass->isAbstract())
		{
			return null;
		}

		if (!$reflectionClass->isSubclassOf(BaseFilter::class))
		{
			return null;
		}

		/** @var BaseFilter $filter */
		$filter = $reflectionClass->newInstance($options);

		return $filter;
	}
	catch (ReflectionException $exception)
	{

	}

	return null;
}