Здравствуйте. Работаю с PHP и шаблонизатором Twig.
Имею Абстрактный контроллер, где есть функция рендера Twig'a, код:
class AbstractController
{
public $twig;
public function __construct()
{
$loader = new \Twig\Loader\FilesystemLoader(\EF::$rootDirectory . '\src\EF\Templates');
$this->twig = new \Twig\Environment($loader);
}
public function view($templateName, $viewParams = [])
{
$templateName = $templateName . '.ef' . '.html';
try
{
return $this->twig->render($templateName, $viewParams);
} catch (\Throwable $e)
{
die('Ошибка загрузки шаблона');
}
}
}
Использую в своем контроллере:
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Error\SyntaxError;
class Index extends AbstractController
{
/**
* @throws SyntaxError
* @throws RuntimeError
* @throws LoaderError
*/
public function actionIndex()
{
$viewParams = [
'test' => 'username'
];
return $this->view('index');
}
}
На что получаю пустоту. Но если я напишу:
echo $this->view('index');
То всё заработает. Что за магия? Помогите, пожалуйста, уже час сижу и не вдупляю :(