• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/annotations/annotationreader.php
  • Класс: BitrixMainAnnotationsAnnotationReader
  • Вызов: AnnotationReader::extractParameters
private function extractParameters($string)
{
	if (!$string)
	{
		return null;
	}

	$parameters = array();

	$parts = preg_split("/(w+)=([.^=]*)/", $string, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);

	for ($i = 0; $i < count($parts); $i++)
	{
		//there is key by even number and value is by the next odd number
		if ($i % 2 === 0)
		{
			$rawValue = trim($parts[$i + 1], ', ');

			$parameters[$parts[$i]] = $rawValue;
		}
	}

	foreach ($parameters as $name => &$rawValue)
	{
		$rawValue = trim($rawValue);
		$rawValue = $this->extractParameter($rawValue);
	}

	return $parameters;
}