1

我正在使用 symfony 3.3

我创建了一个包,我通过 composer 将它安装到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)
4

1 回答 1

1

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

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

于 2017-07-07T08:20:44.137 回答