您在尝试使用Symfony模板组件加载模板时请求了一个不存在的参数"name"错误


我正在使用Symfony

模板组件为我正在处理的项目添加模板功能,我正在遵循这里的文档,但我正在使用服务容器Symfony组件并使用以下代码在文档中添加代码:

$containerBuilder->register('template_name_parser', SymfonyComponentTemplatingTemplateNameParser::class);
$containerBuilder->register('file_system_loader', SymfonyComponentTemplatingLoaderFilesystemLoader::class)
    ->setArguments([realpath('./') . '/app/Views/%name%']);
$containerBuilder->register('templating', SymfonyComponentTemplatingPhpEngine::class)
    ->setArguments([new Reference('template_name_parser'), new Reference('file_system_loader')]);

但是当我尝试使用以下代码加载模板文件时:

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

我收到此错误:

出事了!(您请求的参数不存在 "名称"。

正如@yceruto提到的,Symfony DI会将%%之间的字符串视为参数,因此要转义它,我们需要在%前面添加这些字符串,如此处所述,所以我像这样更新了我的代码:

$containerBuilder->register('file_system_loader', SymfonyComponentTemplatingLoaderFilesystemLoader::class)
->setArguments([realpath('./') . '/app/Views/%%name%']);

相关内容

  • 没有找到相关文章

最新更新