symfony:如何将自己的路径传递给上传的包

symfony: how to pass to uploaded bundle its own path

我正在使用 symfony 3.3

我创建了一个包,我通过 composer 安装到我的应用程序中的 vendor/。我有这个包需要一些 yml 文件,我通过依赖注入注入它。到目前为止一切正常。但是我在这个包中已经有一个 yml 文件,这个包必须知道这个(他自己的)文件的路径。

目前,我的一个 classes

捆绑包中有这个
protected const LOCAL_FILE = __DIR__.'/../Resources/translations/ru.yml';

它工作得很好,但我认为这不是一个合适的解决方案。我尝试将 class 传递给 %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)

您可能使用了 Symfony\Component\HttpKernel::locateResource() 方法。

并且可以通过容器中的 @kernel id 获得内核对象。