Напиши ф-ю, которая рендерит шаблон и бандит в него данные. Например так:
function render($template, array $data = []) {
if (!file_exists($template)) {
throw Exception("Template {$template} not found");
}
foreach($data as $key => $value) {
$$key = $value;
}
ob_start();
include $template;
return ob_get_clean();
}
В твоем случае юзать так:
catch (Exception $e)
{
$templateData = [
'e' => $e,
];
if ($config->phalcon->debug)
{
echo render(rtrim($config->phalcon->viewsDir, '/').'/error/exception_debug.phtml', $templateData);
}
else
{
echo render(rtrim($config->phalcon->viewsDir, '/').'/error/exception.phtml', $templateData);
}
}
Внутри шаблона будет доступен инстанс объекта-исключения.