BiG*_*344 6 php symfony twig symfony-3.4
好吧,这可能是一个非常奇怪的事情.这不是我第一次参加symfony项目,但是:
我使用了symfony generate:bundle命令,之后我创建了一个bundle.让我们称之为"CrimeBundle".
我看到它在src /里面创建了一个文件夹
它还自动生成DefaultController和index.html.twig文件.
现在每当我使用:
return $this->render('CrimeBundle:Default:index.html.twig');
Run Code Online (Sandbox Code Playgroud)
它不起作用:我收到错误:
无法找到模板"CrimeBundle:默认:index.html.twig"(查看:/ Users/admin/sites/solve/app/Resources/views,/ Users/admin/sites/solve/vendor/symfony/symfony/src/Symfony的/桥梁/嫩枝/资源/视图/表).
但是每当我使用命名空间的twig路径时,它都可以工作:
return $this->render('@Crime/Default/index.html.twig');
Run Code Online (Sandbox Code Playgroud)
我喜欢第一个选项,因为在我的其他项目中我也使用它.它们都不是相同的版本,目前我使用:3.4.1文件再次存在,因为它适用于命名空间的树枝路径.
我无法理解为什么return $this->render('CrimeBundle:Default:index.html.twig');不能像symfony那样生成这段代码.
根据这个 - https://symfony.com/doc/3.4/templating.html#referencing-templates-in-a-bundle 这是唯一的参考类型,支持包模板
@BundleName/directory/filename.html.twig
Run Code Online (Sandbox Code Playgroud)
如果你去symfony 3.1的文档,你会发现这是支持旧引用的最后一个版本
AcmeBlogBundle:Blog:index.html.twig
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1245 次 |
| 最近记录: |