- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/php_parser.php
- Класс: PHPParser
- Вызов: PHPParser::GetComponentParams
static function GetComponentParams($instruction, $arAllStr)
{
if ($pos = mb_strpos($instruction, "("))
{
$func_name = mb_substr($instruction, 0, $pos + 1);
if (preg_match("/(\$[A-Z_][A-Z0-9_]*)(\s*=\s*)/i", $func_name, $arMatch))
{
$var_name = $arMatch[1];
}
else
{
$var_name = "";
}
$params = mb_substr($instruction, $pos + 1);
$arParams = PHPParser::GetParams($params);
$arIncludeParams = array();
$arFuncParams = array();
PHPParser::GetParamsRec($arParams[2] ?? '', $arAllStr, $arIncludeParams);
PHPParser::GetParamsRec($arParams[4] ?? '', $arAllStr, $arFuncParams);
return array(
"COMPONENT_NAME" => PHPParser::ReplString($arParams[0] ?? '', $arAllStr),
"TEMPLATE_NAME" => PHPParser::ReplString($arParams[1] ?? '', $arAllStr),
"PARAMS" => $arIncludeParams,
"PARENT_COMP" => $arParams[3] ?? '',
"VARIABLE" => $var_name,
"FUNCTION_PARAMS" => $arFuncParams,
);
}
return array();
}