- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/annotations/annotationreader.php
- Класс: BitrixMainAnnotationsAnnotationReader
- Вызов: AnnotationReader::extractParameter
private function extractParameter($valueInString)
{
if (!$valueInString)
{
return null;
}
$value = null;
if ($valueInString === 'false')
{
$value = false;
}
elseif ($valueInString === 'true')
{
$value = true;
}
elseif (is_numeric($valueInString))
{
if ($valueInString === (string)(int)$valueInString)
{
$value = (int)$valueInString;
}
else
{
$value = (float)$valueInString;
}
}
elseif (mb_substr($valueInString, 0, 1) === '[' && mb_substr($valueInString, -1, 1) === ']')
{
$list = array();
$valueInString = mb_substr($valueInString, 1, -1);
foreach (explode(',', $valueInString) as $listValue)
{
$listValue = trim($listValue);
if (!$listValue)
{
continue;
}
$list[] = $this->extractParameter($listValue);
}
$value = $list;
}
else
{
$value = trim($valueInString, '"');
}
return $value;
}