Bristol SU Support Package
ConnectorStore.php
Go to the documentation of this file.
1 <?php
2 
4 
6 
10 class ConnectorStore implements ConnectorStoreContract
11 {
12 
18  private $connectors = [];
19 
26  public function registerConnector(RegisteredConnector $connector): void
27  {
28  $this->connectors[$connector->getAlias()] = $connector;
29  }
30 
42  public function register(string $name, string $description, string $alias, string $service, string $connector): void
43  {
44  $registeredConnector = new RegisteredConnector();
45  $registeredConnector->setName($name);
46  $registeredConnector->setDescription($description);
47  $registeredConnector->setAlias($alias);
48  $registeredConnector->setService($service);
49  $registeredConnector->setConnector($connector);
50  $this->registerConnector($registeredConnector);
51  }
52 
60  public function get(string $alias): RegisteredConnector
61  {
62  if (array_key_exists($alias, $this->connectors)) {
63  return $this->connectors[$alias];
64  }
65  throw new \Exception('Connector '.$alias.' not registered');
66  }
67 
73  public function all(): array
74  {
75  return $this->connectors;
76  }
77 }
registerConnector(RegisteredConnector $connector)