如何从服务获取缓存目录:$ this-> container-> getParameter('kernel.cache_dir')

Ale*_*s_D 13 service dependency-injection symfony

到目前为止,我从一些控制器获取缓存目录.但是,由于我想在特定服务中设置它,我想知道从服务访问它应该做哪些依赖注入.

当然我可以注入容器(我在下面作为例子安排),但我想我可以使用一些更具特色的依赖注入.

到目前为止我的代码在我的服务中

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';
   }
}
Run Code Online (Sandbox Code Playgroud)

//服务配置

service    
cache_langue:
    class: MySite\BlogBundle\Services\mycache
    arguments: ["@service_container"]
Run Code Online (Sandbox Code Playgroud)

Jav*_*luz 21

您可以kernel.cache_dir按如下方式注入参数:

services:
    cache_langue:
        class: MySite\BlogBundle\Services\mycache
        arguments: ["%kernel.cache_dir%"]
Run Code Online (Sandbox Code Playgroud)