for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types = 1);
namespace Everlution\Navigation\Registry;
use Everlution\Navigation\Provider\Provider;
/**
* Class ProviderRegistry.
* @author Ivan Barlog <[email protected]>
*/
class ProviderRegistry implements Registry
{
/** @var Provider[] */
protected $register = [];
* @param Provider $provider
* @return Registry
* @throws ProviderAlreadyRegisteredException
public function register(Provider $provider): Registry
if (array_key_exists($provider->getName(), $this->register)) {
throw new ProviderAlreadyRegisteredException($provider);
}
$this->register[$provider->getName()] = $provider;
return $this;