Prado\TApplication::startService PHP Method

startService() public method

The service instance will be created. Its properties will be initialized and the configurations will be applied, if any.
public startService ( $serviceID )
    public function startService($serviceID)
    {
        if (isset($this->_services[$serviceID])) {
            list($serviceClass, $initProperties, $configElement) = $this->_services[$serviceID];
            $service = Prado::createComponent($serviceClass);
            if (!$service instanceof IService) {
                throw new THttpException(500, 'application_service_invalid', $serviceClass);
            }
            if (!$service->getEnabled()) {
                throw new THttpException(500, 'application_service_unavailable', $serviceClass);
            }
            $service->setID($serviceID);
            $this->setService($service);
            foreach ($initProperties as $name => $value) {
                $service->setSubProperty($name, $value);
            }
            if ($configElement !== null) {
                $config = new TApplicationConfiguration();
                if ($this->getConfigurationType() == self::CONFIG_TYPE_PHP) {
                    $config->loadFromPhp($configElement, $this->getBasePath());
                } else {
                    $config->loadFromXml($configElement, $this->getBasePath());
                }
                $this->applyConfiguration($config, true);
            }
            $service->init($configElement);
        } else {
            throw new THttpException(500, 'application_service_unknown', $serviceID);
        }
    }