php - 如何获取Symfony2应用程序的根目录?

标签 php symfony symfony-2.8 symfony-config-component

从 Controller 内部获取根应用程序目录的最佳方法是什么?是否可以将其从 Controller 外部获取?

现在我通过将它(从参数)作为参数传递给服务来获取它,如下所示:

services:

    sr_processor:
        class: Pro\Processor
        arguments: [%kernel.root_dir%]

是否有更好、更简单的方法在 Symfony2 中获取此信息?

最佳答案

2018 年 10 月 21 日更新:

截至本周,getRootDir() 已被弃用。请按照 Muzaraf Ali 评论部分的建议改用 getProjectDir()

——

使用这个:

$this->get('kernel')->getRootDir();

如果您想要网络根:

$this->get('kernel')->getRootDir() . '/../web' . $this->getRequest()->getBasePath();

这将在 Controller 操作方法中起作用...

编辑: 至于服务,我认为你这样做的方式尽可能干净,尽管我会传递完整的内核服务作为参数......但这也可以解决问题......

关于php - 如何获取Symfony2应用程序的根目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9215753/

相关文章:

php - allow_if 语句中不可解析的 IP 列表

php - 如何优化数组搜索以取消设置它并重新索引搜索的数组?

php - 错误代码 1582 : Incorrect parameter count in the call to native function 'FROM_UNIXTIME'

javascript - 跟踪网站的最后一个 ajax 调用

javascript - 用于插入、更新和删除数据库项目的 AJAX 代码

symfony - KnpPaginator 和 native 查询

php - 使用 Symfony 2.8 进行 LDAP 身份验证

php - 在 Twig 模板中呈现自定义 formType 选项

php - PDO 和 MYSQL 的问题

php - Symfony 使用 BeSimple/BeSimpleI18nRoutingBundle 重复路由翻译路由