Как получить каталог кеша из службы: $this-> container-> getParameter ('kernel.cache_dir')

До сих пор я получал каталог кэша от какого-то контроллера. но поскольку я хочу установить его в определенном сервисе, я хотел бы знать, какую инъекцию зависимости я должен сделать, чтобы получить доступ к ней из службы.

Конечно, я мог бы вставить контейнер (как я здесь остановился ниже в качестве примера), но Я предполагаю, что есть еще более эффективная инъекция зависимости, которую я мог бы использовать.

Здесь мой код до сих пор в моем сервисе

class mycache
{
   private $container;
   public function __construct($container){
      $this->container = $container;
   }
   public function transf($text, $code)
   {
    $filename = $this->container->getParameter('kernel.cache_dir') . '/MyCACHE/langue.txt';
   }
}

//настройка службы

service    
cache_langue:
    class: MySite\BlogBundle\Services\mycache
    arguments: ["@service_container"]

Ответ 1

Вы можете ввести параметр kernel.cache_dir следующим образом:

services:
    cache_langue:
        class: MySite\BlogBundle\Services\mycache
        arguments: ["%kernel.cache_dir%"]