public function __get($name)
{
switch ($name) {
case 'named_args':
if (empty($this->m_named_args)) {
preg_match_all('/(?<!\\()\\{\\$(\\w+?)\\}(?!\\))/u', $this->build_str, $required);
preg_match_all('/(?<=\\()[^\\(\\)]*\\{\\$(\\w+?)\\}[^\\(\\)]*(?=\\))/u', $this->build_str, $optional);
$this->m_named_args['required'] = $required[1];
$this->m_named_args['optional'] = $optional[1];
}
return $this->m_named_args;
default:
return parent::__get($name);
}
}