2015-06-17 60 views
0

我試圖爲高速緩存和日誌目錄包含自定義值。原因是讓它與Vagrant快速合作。 這是高速緩存方法與靜態值(內app/AppKernel.php):在AppKernel中獲取自定義參數

public function getCacheDir() 
{ 
    if (in_array($this->environment, array('dev', 'test'))) { 
     return '/dev/shm/project/app/cache/' . $this->environment; 
    } 

    return parent::getCacheDir(); 
} 

和我想要做的事,如:

public function getCacheDir() 
{ 
    if (in_array($this->environment, array('dev', 'test'))) { 
     return $this->getContainer()->getParameter('cache_dir') . $this->environment; 
    } 

    return parent::getCacheDir(); 
} 

,然後在parameters.yml

cache_dir: '/dev/shm/project/app/cache/' 

$this->getContainer()在這裏返回null。我試圖讓容器在其他內核方法中沒有成功。任何想法,如果有可能?

回答

0

您可以隨時嘗試定義允許您將緩存目錄作爲服務獲取的類,然後將服務容器傳遞到該類中。

services: 
    your_cache_dir_service: 
     class: Acme\TestBundle\Services\CacheHelper 
      arguments: [@service_container] 
+0

AppKernel作爲服務? – Manolo

相關問題