把我的头发拉出一些奇怪的行为。
基本上我有一个构建GuzzleHttp \ Client的类和一个组织数据的自定义对象,如下所示:
f => f
这一切都没问题,直到他们用// Config set-up
$config = [
'ex1' => [
'api_key' => getenv('EX1_API_KEY'),
'org_id' => getenv('EX1_ORG_ID'),
],
'ex2' => [
'api_key' => getenv('EX2_API_KEY'),
'org_id' => getenv('EX2_ORG_ID'),
],
'ex3' => [
'api_key' => getenv('EX3_API_KEY'),
'org_id' => getenv('EX3_ORG_ID'),
],
];
// Initialize adapters
$ex1 = new Adapter($config['ex1']);
$ex2 = new Adapter($config['ex2']);
$ex3 = new Adapter($config['ex3']);
完成构建,并在构造函数的这一行中用相同的$this->org = $org
覆盖所有$org
:
// Construct connected org
$org = Organization::get($this, $args['org_id']);
$this->org = $org;
所有这一切令人沮丧的部分是,如果我分配该组织的属性而不是整个事物,则每个项目都是唯一的(例如$this->org = $org->name
)。
我觉得这与我的Organization
课程有关,但我不知道从哪里开始调试。可以根据请求提供更多代码/上下文,但整个代码库为on GitHub。
答案 0 :(得分:0)
我将我的抽象Resource类构造为Singleton模式。因此,我一次不能有多个实例(因此,Singleton),因此每次只更改同一实例的属性。