getSubDomain() public static method

サブドメインを取得する
public static getSubDomain ( $host = null ) : string
return string
示例#1
0
 /**
  * URLからサブサイトを取得する
  *
  * @param bool $direct
  * @return BcSite|null
  */
 public static function findCurrent($direct = true)
 {
     $request = Router::getRequest(true);
     if (!$request) {
         $request = new CakeRequest();
     }
     $url = $request->url;
     $sites = self::findAll();
     if (!$sites) {
         return null;
     }
     $url = preg_replace('/^\\//', '', $url);
     $currentSite = null;
     foreach ($sites as $site) {
         if ($site->alias) {
             $domainKey = '';
             if ($site->useSubDomain) {
                 if ($site->domainType == 1) {
                     $domainKey = BcUtil::getSubDomain() . '/';
                 } elseif ($site->domainType == 2) {
                     $domainKey = BcUtil::getFullDomain() . '/';
                 }
             }
             $regex = '/^' . preg_quote($site->alias, '/') . '\\//';
             if (preg_match($regex, $domainKey . $url)) {
                 $currentSite = $site;
                 break;
             }
         }
     }
     if (!$currentSite) {
         $currentSite = $sites[0];
     }
     if (!$direct) {
         $subSite = self::findCurrentSub(true);
         if ($subSite) {
             $currentSite = $subSite;
         }
     }
     return $currentSite;
 }