Example #1
0
 /**
  * 获取route的scheme和port
  * 
  * @param RouteInterface $route
  * @return array
  */
 protected function _getRouteSchemeAndPort(RouteInterface $route)
 {
     $scheme = $this->_context->getScheme();
     $requiredSchemes = $route->getSchemes();
     if (!empty($requiredSchemes) && !in_array($scheme, $requiredSchemes)) {
         $scheme = reset($requiredSchemes);
     }
     $port = '';
     if (strcasecmp($scheme, 'http') == 0 && $this->_context->getHttpPort() != 80) {
         $port = ':' . $this->_context->getHttpPort();
     } elseif (strcasecmp($scheme, 'https') == 0 && $this->_context->getHttpsPort() != 443) {
         $port = ':' . $this->_context->getHttpsPort();
     }
     return [$scheme, $port];
 }