从我的控制器,我访问应用程序参数(那些/app/config)
$this->container->getParameter('my_param')
Run Code Online (Sandbox Code Playgroud)
但我不知道如何从服务访问它(我想我的服务类不应该扩展Symfony\Bundle\FrameworkBundle\Controller\Controller).
我应该将所需参数映射到我的服务注册中,如下所示:
#src/Me/MyBundle/Service/my_service/service.yml
parameters:
my_param1: %my_param1%
my_param2: %my_param2%
my_param3: %my_param3%
Run Code Online (Sandbox Code Playgroud)
或类似的东西?我应该如何从服务访问我的应用程序参数?
这个问题看起来是一样的,但是我实际上回答了它(来自控制器的参数),我说的是从服务访问.
所以我刚开始使用YAML文件而不是application.properties因为它更具可读性.我在YAML文件中看到他们开始---.我用Google搜索并找到了以下解释.
YAML使用三个破折号("---")将指令与文档内容分开.如果没有指令,这也用于表示文档的开始.
此外,我尝试了一个没有的样本,---并且理解它不是强制性的.
我想我并没有清楚地了解directive和document.有人可以用一个简单的例子解释一下吗?
我有
>>> import yaml
>>> yaml.dump(u'abc')
"!!python/unicode 'abc'\n"
Run Code Online (Sandbox Code Playgroud)
但我想要
>>> import yaml
>>> yaml.dump(u'abc', magic='something')
'abc\n'
Run Code Online (Sandbox Code Playgroud)
什么神奇的param强制没有标记?
我在从YAML配置文件中提取问题:
致命错误:解析块映射时; 预期<block end>,但发现BlockEntry
虽然有很多在线YAML验证器,我已经尝试并帮助过,但我想从命令行验证我的YAML文件并将其集成到我的持续集成管道中.
如何在命令行上验证YAML文件的语法?
我在Rails 3.0.9中加载一个YAML文件,如下所示:
APP_CONFIG = YAML.load(File.read(File.expand_path('../app.yml', __FILE__)))
Run Code Online (Sandbox Code Playgroud)
它加载所有内容,如分层哈希,没问题.我不喜欢的部分是哈希只能用单引号或双引号访问而不能用符号访问.
APP_CONFIG['mailer']['username'] # works fine
APP_CONFIG[:mailer][:username] # doesn't
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我有以下development.yml文件的开发部分:
development:
adapter: postgresql
host: localhost
database: testtb
username: app_user
password: ENV['APP_USER_POSTGRES_PASSWORD'] <= Troublesome line
Run Code Online (Sandbox Code Playgroud)
当我打开一个rails控制台bundle exec rails console并键入时,ENV['APP_USER_POSTGRES_PASSWORD']我会回到我在本地配置文件中指定的数据库密码.但是,当我启动我的rails服务器时,它无法连接到数据库,失败了
PGError FATAL: password authentication failed for user "app_user"
Run Code Online (Sandbox Code Playgroud)
这是以前的工作,当我用纯文本输入数据库密码,而不是试图通过它来访问它ENV['...'],但出于显而易见的原因,我想完全保留这个文件的实际密码(因此在代码库之外)同时仍然能够对文件进行其他非安全更改database.yml.
我缺少的语法有什么特别之处,或者database.yml在加载文件时由于某种原因环境变量不可用?
我正在尝试将我的应用部署到运行在Google容器引擎中的Kubernetes.
该应用程序可以在以下网址找到:https://github.com/Industrial/docker-znc.
该Dockerfile内置的图像谷歌集装箱登记.
我已经通过+按钮在Kubernetes中部署了应用程序.我没有这个YAML.
我在Kubernetes中插入了一个Secret,用于应用程序所需的PEM文件.
yaml docker kubernetes google-kubernetes-engine google-container-registry
我想在YAML中重用哈希:
Defaults: &defaults
Company: Foo
Item: 123
Computer: *defaults
Price: 3000
Run Code Online (Sandbox Code Playgroud)
但是,这会产生错误.
是分别定位每个字段值的唯一途径是这样?
Defaults:
Company: &company Foo
Item: &item 123
Computer:
Company: *company
Item: *item
Price: 3000
Run Code Online (Sandbox Code Playgroud)