Symfony 如何使用Gaufrete流包装器?

Symfony 如何使用Gaufrete流包装器?,symfony,stream,gaufrette,Symfony,Stream,Gaufrette,如果我在symfony2 config.yml中定义了如下流包装器: knp_gaufrette: adapters: my_drive: local: directory: %my_drive_path% create: true filesystems: user_fs: adapter: my_drive

如果我在symfony2 config.yml中定义了如下流包装器:

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/“

我可以把它改成不使用它吗?因为如果我在配置中更改名称,我也必须在控制器中更改名称。我只想在一个文件(配置)中管理它。

您可以在
参数中定义路径作为参数。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);