protected function _parseTemplate($content = null)
{
$output = str_replace($this->_tagArray['template']['search'], $this->_optionArray['delimiter'], $content);
$partArray = array_filter(explode($this->_optionArray['delimiter'], $output));
$object = $this->_tagArray['template']['namespace'];
/* parse as needed */
foreach ($partArray as $key => $value) {
if ($key % 2) {
$partArray[$key] = null;
$json = json_decode($value, true);
/* call with parameter */
if (is_array($json)) {
foreach ($json as $method => $parameterArray) {
/* method exists */
if (method_exists($object, $method)) {
$partArray[$key] = call_user_func_array([$object, $method], $parameterArray);
}
}
} else {
if (method_exists($object, $value)) {
$partArray[$key] = call_user_func([$object, $value]);
}
}
}
}
$output = implode($partArray);
return $output;
}