关于 config-env-parameters
面向 Symfony 项目的配置技能,用于管理环境变量、参数和密钥,并处理不同环境的配置差异。它说明值的存放、注入与解析方式,以及避免提交凭据的防护要求。
主要功能
- 01选择默认值、环境变量或密钥库
- 02声明安全的已提交默认值
- 03通过参数或 Autowire 注入并解析
- 04配置环境专属设置
- 05对必需的空值快速失败
适用场景
- 01添加或修改环境变量与参数
- 02管理跨开发、测试和生产环境的值
- 03解析整数、布尔值、JSON 或 CSV
- 04将凭据存入 Symfony 密钥库
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dev-toolings/ superpowers-symfony --skill config-env-parameters安装后在 Claude Code 中输入/config-env-parameters确认已加载。
附带文件reference.md
详细介绍
Config Env Parameters (Symfony)
适用场景
- 添加或更改环境变量、参数或密钥时。
- 某个值因环境而异(dev、test、prod)时。
- 转换或解析环境变量值(
int:、bool:、json:、csv:、file:)时。 - 在 Symfony 密钥保险库中存储凭据时。
默认工作流
- 确定值的存放位置:
.env默认值、.env.local、实际环境,或密钥保险库。 - 使用安全且已提交的默认值声明该值,绝不使用真实凭据。
- 通过参数或
#[Autowire],使用%env(...)%和正确的处理器注入该值。 - 将特定环境的设置放在
config/packages/<env>/或when@<env>区块中。 - 如果必需的值为空,应在服务中立即报错。
防护措施
- 绝不提交
.env.local、.env.*.local或保险库解密密钥。 - 在生产环境中,应在服务器或容器环境中设置变量,而不是写入文件。
- 环境变量值在处理前都是字符串:应转换类型,不要将
"false"与false比较。 - 请记住加载顺序:
.env、.env.local(在 test 中跳过)、.env.<env>、.env.<env>.local。
渐进式披露
- 使用此文件了解执行规范和风险控制。
- 需要深入了解实现细节时,请打开参考资料。
输出约定
- 说明每个新值在各环境中的定义位置。
- 说明注入点和使用的处理器。
- 列出添加到保险库的密钥名称,但绝不输出密钥内容。
参考资料
reference.md
评论
支持 Markdown