问题如下:
如何从控制器内部(或因此从其他任何地方)获取 Symfony2 中 Web 目录的服务器路径
我已经发现了什么(也通过在这里搜索):
关于 Doctrine 文件处理的食谱文章中建议了这一点
$path = __DIR__ . '/../../../../web';
通过搜索发现,只能从控制器内部使用(或注入内核的服务):
$path = $this->get('kernel')->getRootDir() . '/../web';
那么,是否绝对没有办法至少获得路径的“网络”部分?例如,如果我决定重命名或移动或其他什么怎么办?
在第一个 symfony 中,一切都很简单,我可以通过调用静态 sfConfig::get() 方法从代码中的任何位置获得所需的一切。
实际上没有直接的方法可以在 Symfony2 中获取 webdir 的路径,因为该框架完全独立于 webdir。
您可以使用getRootDir()
正如您所写,在内核类的实例上。如果您考虑重命名/web
dir 将来,您应该将其配置为可配置。例如,AsseticBundle 在其 DI 配置中就有这样的选项(请参阅here https://github.com/symfony/AsseticBundle/blob/master/DependencyInjection/Configuration.php#L63 and here https://github.com/symfony/AsseticBundle/blob/master/Resources/config/assetic.xml#L40).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)