public function getServiceInstance()

in provider/core/server/BaseServer.php [761:786]


    public function getServiceInstance($serviceName, $group, $version)
    {
        $keyName = null;
		$serInstance = null;

		foreach ($this->serverProviders as $svrName => $svrProperty)
		{
			$serviceVersion = isset($svrProperty['version'])?$svrProperty['version']:FSOFConstants::FSOF_SERVICE_VERSION_DEFAULT;
			if(($serviceName == $svrName) && ($version == $serviceVersion) && (($group == $svrProperty["group"]) ||
				($group == FSOFConstants::FSOF_SERVICE_GROUP_DEFAULT) || ($group == FSOFConstants::FSOF_SERVICE_GROUP_ANY)))
			{
				$keyName = $svrProperty['service'];
				break;
			}
		}
        
    	if(null != $keyName)
    	{
	    	//配置文件中服务名格式为:com.fenqile.example.calculate.Calculate,需要把.替换成\
	        $keyName = str_replace('.', '\\', $keyName);
	        $keyName = '\\'.$keyName;//前面加上\, 拼接成全限定类名
			$serInstance = $this->appContext->getInstance($keyName);
    	}

		return $serInstance;
    }