Webiny\Component\ServiceManager\ServiceManager::registerService PHP Method

registerService() public method

Register service using given config
public registerService ( string $serviceName, ConfigObject $config, boolean $overwrite = false )
$serviceName string
$config Webiny\Component\Config\ConfigObject
$overwrite boolean Overwrite service if it has been registered before (Default: false)
    public function registerService($serviceName, ConfigObject $config, $overwrite = false)
    {
        /**
         * Check if service instance already exists
         */
        if ($this->registeredServices->keyExists($serviceName) && !$overwrite) {
            throw new ServiceManagerException(ServiceManagerException::SERVICE_NAME_ALREADY_EXISTS, [$serviceName]);
        }
        $this->registeredServices[$serviceName] = $config;
        if ($this->instantiatedServices->keyExists($serviceName) && $overwrite) {
            $this->instantiatedServices->removeKey($serviceName);
        }
        /**
         * Tagify service
         */
        foreach ($config->get('Tags', []) as $tag) {
            $tagServices = $this->taggedServices->key($tag, [], true);
            $tagServices[] = $serviceName;
            $this->taggedServices->key($tag, $tagServices);
        }
        return $this;
    }