Skip to content

Commit 9bb3a40

Browse files
committed
plugins class map
1 parent a386f3c commit 9bb3a40

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

src/Mapper.php

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public function addPlugin($class)
2424
}
2525

2626
$plugin = is_object($class) ? $class : new $class($this);
27-
$this->plugins[] = $plugin;
27+
$this->plugins[get_class($plugin)] = $plugin;
2828

2929
return $plugin;
3030
}
@@ -73,16 +73,15 @@ public function getClient()
7373

7474
public function getPlugin($class)
7575
{
76-
foreach($this->getPlugins() as $plugin) {
77-
if(is_a($plugin, $class)) {
78-
return $plugin;
79-
}
76+
if(!array_key_exists($class, $this->plugins)) {
77+
throw new Exception("No plugin $class");
8078
}
79+
return $this->plugins[$class];
8180
}
8281

8382
public function getPlugins()
8483
{
85-
return $this->plugins;
84+
return array_values($this->plugins);
8685
}
8786

8887
public function getRepository($space)

0 commit comments

Comments
 (0)