2017-07-07 80 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

回答