Symfony:如何传递给上传的bundle自己的路径



我正在使用symfony 3.3

我已经创建了一个捆绑包,我通过作曲家将其安装到我的应用程序中的vendor/中。我有这个捆绑包需要一些 yml 文件,我通过依赖注入注入到它。到目前为止一切都很好。但是我在这个捆绑包中也已经有一个 yml 文件,这个捆绑包必须知道这个(他自己的(文件的路径。

目前,我的一个捆绑包课程中有这个

protected const LOCAL_FILE = __DIR__.'/../Resources/translations/ru.yml';

它工作得很好,但我认为这不是一个正确的解决方案。我试图通过一个%kernel.root_dir%传递给这个班级,但从中我仍然无法猜测整个路径。

我应该如何以最好的方式做到这一点?

更新:按照 zerkms 的建议,我得到的结果是通过以下方式调用此方法:

my.translator:
...
calls:
- method: configure
arguments:
...
- '@kernel'

和带有locateResource的部分

protected const LOCAL_FILE = '@MyBundle/Resources/translations/ru.yml';
....
....
$this->kernel->locateResource(self::LOCAL_FILE)

您可能已经使用了SymfonyComponentHttpKernel::locateResource()方法。

内核对象可通过容器中的@kernelid 使用。

相关内容

  • 没有找到相关文章