Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,32 @@ public function registerProvider(ProviderInterface $provider)
$this->providers[$provider->getID()] = $provider;
}

/**
* Unregister a provider from the ProviderManager. When null then all providers
* are cleared.
*
* @param ProviderInterface $provider The provider to be unregistered
*
* @return void
*
* @since __DEPLOY_VERSION__
*/
public function unregisterProvider(ProviderInterface $provider = null)
{
if ($provider === null)
{
$this->providers = [];
return;
}

if (!array_key_exists($provider->getID(), $this->providers))
{
return;
}

unset($this->providers[$provider->getID()]);
}

/**
* Returns the provider for a particular ID
*
Expand Down