protected function injectVariables(array $args) { if (empty($args)) { return; } $parser = new Parser(__METHOD__, false); foreach ($args as $name => $strValue) { if ($name[0] === '$') { $name = substr($name, 1); } $parser->env = null; $parser->count = 0; $parser->buffer = (string) $strValue; $parser->inParens = false; $parser->eatWhiteDefault = true; $parser->insertComments = true; if (!$parser->valueList($value)) { throw new \Exception("failed to parse passed in variable {$name}: {$strValue}"); } $this->set($name, $value); } }