2014-01-31 51 views
2

如果我在我的Symfony2 config.yml低於流封裝定義爲:如何使用Gaufrette Stream Wrappers?

knp_gaufrette: 
    adapters: 
     my_drive: 
      local: 
       directory: %my_drive_path% 
       create:  true 
    filesystems: 
     user_fs: 
      adapter: my_drive 
      alias:  my_drive_filesystem 
    stream_wrapper: 
     protocol: data 

我如何使用它在我的控制器下載文件?

我有這樣的事情:

$response = new BinaryFileResponse("data://user_fs/" . $key); 

,所以我使用ADDRES打電話給我的文件:"data://user_fs/" 山楂我可以將其更改爲不使用它,職高,如果我在配置我也將不得不改變名稱在我的控制器中更改它。我想只有在一個文件中(配置)

回答

1

您可以在parameters.yml定義的路徑作爲參數來管理:

parameters: 
    data_protocol: data 
    data_filesystem: user_fs 
    data_path: "%data_protocol%://%data_filesystem%/" 

,並從容器得到它:

$path = $this->get('system_container')->getParameter('data_path') 
$response = new BinaryResponse($path . $key); 
相關問題