【发布时间】:2018-05-19 14:11:18
【问题描述】:
好吧,这可能是一件很奇怪的事情。 这不是我第一次参与 symfony 项目,但是:
我使用了 symfony generate:bundle 命令,然后我创建了一个包。让我们称之为“CrimeBundle”。
我看到它在 src/ 里面做了一个文件夹
它还自动生成了一个 DefaultController 和一个 index.html.twig 文件。
现在每当我使用时:
return $this->render('CrimeBundle:Default:index.html.twig');
它不起作用:我收到错误:
找不到模板“CrimeBundle:Default:index.html.twig”(查看:/Users/admin/sites/solve/app/Resources/views、/Users/admin/sites/solve/vendor/symfony/ symfony/src/Symfony/Bridge/Twig/Resources/views/Form)。
但是,只要我使用命名空间的树枝路径,它就可以工作,例如:
return $this->render('@Crime/Default/index.html.twig');
我喜欢第一个选项,因为在我的其他项目中我也使用它。它们都不是相同的版本,目前我使用的是:3.4.1 该文件再次存在,因为它适用于命名空间的树枝路径。
我不明白为什么return $this->render('CrimeBundle:Default:index.html.twig'); 不能工作,因为 symfony 生成了这段代码。
【问题讨论】:
-
看起来这是一个错误。它适用于 3.3.14 版,但不适用于 3.4.1 版。这两个版本都有另一个问题,您可以在 stackoverflow.com/questions/45242838/… 上阅读
标签: php symfony twig symfony-3.4