问题如下:
如何从 Controller 内部(或因此从其他任何地方)获取 Symfony2 中 web 目录的服务器路径
我已经找到的(也可以在这里搜索):
这在关于 Doctrine 文件处理的食谱文章中有所建议
$path = __DIR__ . '/../../../../web';
四处寻找,只能在 Controller 内部使用(或注入(inject)内核的服务):
$path = $this->get('kernel')->getRootDir() . '/../web';
那么,绝对没有办法至少获得路径的“网络”部分吗?例如,如果我决定重命名或移动或其他什么?
在第一个 symfony 中一切都很容易,当我可以通过调用静态 sfConfig::get() 方法从代码中的任何位置获得所需的一切时......
最佳答案
在 Symfony2 中实际上没有直接的方法来获取 webdir 的路径,因为该框架完全独立于 webdir。
您可以在内核类的实例上使用 getRootDir()
,就像您编写的那样。如果您考虑将来重命名 /web
目录,则应使其可配置。例如 AsseticBundle 在其 DI 配置中有这样一个选项(参见 here 和 here )。
关于php - 如何从 Controller 内部获取 Symfony2 中 web 目录的服务器路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9265788/