Я следовал примеру на Symfony 3.4 docs , чтобы загрузить расширение Twig во время выполнения, но оно не загружается: что я делаю неправильно?
IN: src / PlotlyBundle / Twig / AppRuntime.php
<?php
namespace PlotlyBundle\Twig;
class AppRuntime
{
public function __construct()
{
}
public function biDraw()
{
return 'awesome text here';
}
}
IN: src / PlotlyBundle / Resources / config / services.yml
services:
plotly.twig_runtime:
class: PlotlyBundle\Twig\AppRuntime
public: true
tags:
- { name: twig.runtime }
IN: src / PlotlyBundle / Twig / AppExtension.php
<?php
namespace PlotlyBundle\Twig;
use PlotlyBundle\Twig\AppRuntime;
class AppExtension extends \Twig_Extension
{
public function getFunctions()
{
return [
new \Twig_SimpleFunction(
'bi_draw',
array(AppRuntime::class, 'biDraw')
),
];
}
}
IN: src / AppBundle / Controller / DashboardController.php
$twig = $this->get('plotly.twig_runtime');
return $this->render(
'dashboard/index.html.twig'
);
IN: app / Resources / views / dashboard / index.html.twig
{{ bi_draw() }}