我有一个API服务,我有两个单独的帐户登录。我需要使用类的克隆实例并通过帐户名参数
调用它在symfony之前,我创建了每个类的单例并将其存储在数组
中array(["account1"]=>api instance, ["account2"]=>api instance)
班级登录看起来像这样
class api
{
protected $ses_time;
protected $accounts = array(
"account1"=>array(
"username"=>"username",
"password"=>"password"
),
"account2"=>array(
"username"=>"username",
"password"=>"password"
)
);
public function login($account)
{
$username = $this->accounts[$account]["username"];
$password = $this->accounts[$account]["password"];
$this->soap->login(
array(
'username' => $username,
'password' => $password,
'session_duration' => $this->ses_time
)
);
}
}
将这些存储在服务容器中真的很有用,问题是如果我将其创建为服务我可以将该类实例化两次并且我无法通过动态 $account
param to the service for login。
如果我将范围更改为prototype
,则不再是单身人士