我使用Symfony Flex进行了新的Symfony安装,新的骨架属于下一个Symfony 4目录结构.
我添加并配置了第一个第三方软件包:HWIOAuthBundle.该捆绑包用于通过Twitter使用两个秘密信息进行连接.
consumer_id我consumer_secret在config/packages/hwi_oauth.yaml文件中声明我和我的.
hwi_oauth:
firewall_names: [secured_area]
resource_owners:
twitter:
type: twitter
client_id: XXXXXMyIdXXXXX
client_secret: XXXXXMyTopSecretKeyXXXXX
Run Code Online (Sandbox Code Playgroud)
我的申请工作正常.但我无法在github上提交我的秘密!
我想要一个hwi_oauth.yaml像这样的文件:
hwi_oauth:
firewall_names: [secured_area]
resource_owners:
twitter:
type: twitter
client_id: '%twitter_consumer_id%'
client_secret: '%twitter_consumer_secret%'
Run Code Online (Sandbox Code Playgroud)
我阅读了有关新DotEnv包的Symfony4最佳实践.
使用环境变量虽然远非完美,但与我们目前的工作相比有很多好处.环境变量是管理依赖于环境的设置的更"标准"方式(例如,不需要管理parameters.yml.dist).
正如最佳实践中所建议的那样,我将这两行附加到.env文件:
TWITTER_CONSUMER_ID=XXXXXMyIdXXXXX
TWITTER_CONSUMER_SECRET=XXXXXMyTopSecretKeyXXXXX
Run Code Online (Sandbox Code Playgroud)
但是我遇到了这个错误:
您已请求不存在的参数"twitter_consumer_id".
我试着用%kernel.twitter_consumer_id%,%env.twitter_consumer_id%,%env(TWITTER_CONSUMER_ID)%没有更多的成功.
最后一个测试是返回此错误消息:
在渲染模板期间抛出了异常("未找到环境变量:"TWITTER_CONSUMER_ID".").
如何在参数文件中检索我的ENV变量hwi_oauth.yaml?