Вы запросили несуществующую ошибку имени параметра при попытке загрузить шаблон с использованием шаблонного компонента Symfony. - PullRequest
0 голосов
/ 23 января 2019

Я использую шаблонный компонент Symfony для добавления функциональности шаблонов к проекту, над которым я работаю, я следую документации здесь , но я использую компонент Symfony контейнера службы и добавляю код в документыиспользуя этот код:

$containerBuilder->register('template_name_parser', Symfony\Component\Templating\TemplateNameParser::class);
$containerBuilder->register('file_system_loader', Symfony\Component\Templating\Loader\FilesystemLoader::class)
    ->setArguments([realpath('./') . '/app/Views/%name%']);
$containerBuilder->register('templating', Symfony\Component\Templating\PhpEngine::class)
    ->setArguments([new Reference('template_name_parser'), new Reference('file_system_loader')]);

Но когда я пытаюсь загрузить файл шаблона, используя этот код:

container->get('templating')->render('home.php')

, я получаю эту ошибку:

Что-топошло не так!(Вы запросили несуществующий параметр "имя".)

1 Ответ

0 голосов
/ 23 января 2019

Так как @yceruto упоминал, что Symfony DI будет обрабатывать строки между %% как параметры, чтобы избежать его, нам нужно добавить % перед этими строками, как упоминалось здесь , поэтому я обновил свой кодкак это:

$containerBuilder->register('file_system_loader', Symfony\Component\Templating\Loader\FilesystemLoader::class)
->setArguments([realpath('./') . '/app/Views/%%name%']);
...