2017-07-07 82 views
1

我使用symfony的3.3的symfony:如何传递给上传捆绑自己的路

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

目前我有这在我的包中的类

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

它只是罚款之一,但我不认为这是一个妥善的解决办法。我尝试传递给这个班级%kernel.root_dir%,但是我仍然无法猜测整个路径。

我该怎么做才是最好的方法?

UPDATE:在作出什么zerkms建议我得到的结果在调用此方法通过以下方式:

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

locateResource

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

检查内核的'locateResource'方法。 http://api.symfony.com/3.3/Symfony/Component/HttpKernel/KernelInterface.html#method_locateResource – zerkms

+0

@zerkms什么我传递给我的类在'services.yml'的构造函数能够访问此方法? – user7808407

+1

'@ kernel'? ........ – zerkms

回答