我想在创建服务时传递给服务的参数之一是基于某些用户输入的字符串计算的结果。如何自动实现这一点,这样我每次想从不同的控制器访问对象时都不必将值传递给对象?
只是为了说明我正在添加以下示例:
我已经按照文档(精彩)将 Instagram API 封装在一个服务中,所以$instagram = $this->get('instagram');
在我的代码中编写几乎可以工作,至于与 API 的通信我还需要设置一个回调 URL,我目前总是必须在检索服务,例如:
$redirect_url = $this->getRequest()->getSchemeAndHttpHost().$this->generateUrl('_instagram_authenticate_response');
$instagram = $this->get('instagram');
$instagram->setApiCallback($redirect_url);
这样做一次是可以的,但不是在我与 instagram 交谈时使用的所有该死的方法中。请帮忙 :)
更新:我的服务定义如下:
parameters:
client_id: xxxxx
client_secret: yyyyy
services:
instagram:
class: Clops\InstagramBundle\InstagramAPI
arguments: ["%client_id%", "%client_secret%"]
问题是 --> 如何将第三个参数作为控制器中生成的值传递?还是在获得服务后我总是必须通过 setValue(X) 执行此操作?