我在.env
中添加了以下内容:
PHOTOS_DIR=%kernel.project_dir%/var/photos
当然,当我试图检索$_ENV['PHOTOS_DIR']
的值时,我得到了原始字符串%kernel.project_dir%/var/photos
。
但是我怎样才能得到Symfony配置处理器处理的值,例如/my/project/var/photos
?
- 编辑 *:我知道在
services.yaml
中添加这个是很简单的:
parameters:
photos_dir: '%kernel.project_dir%/var/photos'
但是我想在.env
文件中保留重要的配置数据。
3条答案
按热度按时间brqmpdu11#
为了扩展
%kernel.project_dir%
,在参数中使用%env(resolve:...)%
,例如:7kjnsjlb2#
您的dotenv不处理symfony yaml处理器参数。
从.env文件中删除%kernel.project_dir%,然后在.yaml中绑定一个参数,如下所示:
之后,您可以通过名称photos_absolute_path从容器中获取参数,它将指向正确的位置
lf5gs5x23#
在. env文件中使用symfony参数是正确的。Symfony将自动解析它们。
容器编译后,如果将其绑定到参数. .env,则可以获得真实的值
services.yaml:
在你的应用程序中: