如何从控制器内部获取 Symfony2 中 Web 目录的服务器路径?

2024-01-05

问题如下:

如何从控制器内部(或因此从其他任何地方)获取 Symfony2 中 Web 目录的服务器路径

我已经发现了什么(也通过在这里搜索):

关于 Doctrine 文件处理的食谱文章中建议了这一点

$path = __DIR__ . '/../../../../web';

通过搜索发现,只能从控制器内部使用(或注入内核的服务):

$path = $this->get('kernel')->getRootDir() . '/../web';

那么,是否绝对没有办法至少获得路径的“网络”部分?例如,如果我决定重命名或移动或其他什么怎么办?

在第一个 symfony 中,一切都很简单,我可以通过调用静态 sfConfig::get() 方法从代码中的任何位置获得所需的一切。


实际上没有直接的方法可以在 Symfony2 中获取 webdir 的路径,因为该框架完全独立于 webdir。

您可以使用getRootDir()正如您所写,在内核类的实例上。如果您考虑重命名/webdir 将来,您应该将其配置为可配置。例如,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(使用前将#替换为@)

如何从控制器内部获取 Symfony2 中 Web 目录的服务器路径? 的相关文章

随机推荐