我写了一个服务,它使用guzzle向另一个网站发出请求。 guzzle参数(URL,标题等)必须是可配置的,因此我将它们存储在app/config/parameters.yml
但是由于服务无法访问容器,我该如何检索参数?
答案 0 :(得分:1)
a)您可以将许多参数作为数组传递。
parameters:
my_params:
foo: bar
baz: 1
services:
app.my_service:
class: \yourservice\
arguments:
- '%my_params%'
b)你可以使用setter
services:
app.my_service:
class: \yourservice\
calls:
- [setParameterA, ['%first_param%']]
- [setParameterB, ['%second_param%']]
- ...
`
services:
app.client_factory:
class: AppBundle\Service\ClientFactory
app.some_client:
class: GuzzleHttp\Client
factory: 'app.client_factory:create'
arguments:
- []
-
base_uri: '%url%/%version%'
headers:
User-Agent: 'MyAgent 0.1'
Accept: 'application/json'
content-type: 'application/json'
- ~
app.my_service:
class: \yourservice\
arguments:
- '@app.some_client'