*/ private array $adapters = array(); /** * Register an adapter (last writer wins for same id). * * @param AdapterInterface $adapter Adapter instance. */ public function register( AdapterInterface $adapter ): void { $this->adapters[ $adapter->id() ] = $adapter; } /** * Get adapter by id. * * @param string $id Adapter id. */ public function get( string $id ): ?AdapterInterface { return $this->adapters[ $id ] ?? null; } /** * All adapters. * * @return array */ public function all(): array { return $this->adapters; } }