Symfony 在配置文件路径中使用动态变量

Symfony use a dynamic variable in config file path

对于每个 Program 可以有一个或多个 Documents,它们是在 VichUploaderBundle 的帮助下上传的文件。

我有一个 vich_uploader 的配置文件,如下所示:

vich_uploader:
    db_driver: orm
    mappings:
        program_document:
            upload_destination: '%kernel.project_dir%/public_html/uploads/program-documents'
            namer: Vich\UploaderBundle\Naming\UniqidNamer

我想将一个 Program 的文档存储在一个文件夹中,而不是全部存储。是否可以在 upload_destination 中添加动态变量?像 %program_id% 这样的东西,以便一个程序的文件存储在具有该程序 ID 的文件夹中?

除了文件命名器(您已经在配置中),您还可以指定目录命名器(https://github.com/dustin10/VichUploaderBundle/blob/master/Resources/doc/namers.md#directory-namer). There are already 3 available, one of which (the PropertyDirectoryNamer), should solve your problem. If not, you can still write a custom directory namer.