コード例 #1
0
ファイル: URL.php プロジェクト: esperecyan/url
 /**
  * @param string $name
  * @return string|URLSearchParams
  */
 public function __get($name)
 {
     switch ($name) {
         case 'href':
             $value = $this->url->serializeURL();
             break;
         case 'origin':
             $value = self::unicodeSerialiseOrigin($this->url->getOrigin());
             break;
         case 'protocol':
             $value = $this->url->scheme . ':';
             break;
         case 'username':
             $value = $this->url->username;
             break;
         case 'password':
             $value = is_null($this->url->password) ? '' : $this->url->password;
             break;
         case 'host':
             $value = is_null($this->url->host) ? '' : lib\HostProcessing::serializeHost($this->url->host) . (is_null($this->url->port) ? '' : ':' . $this->url->port);
             break;
         case 'hostname':
             $value = is_null($this->url->host) ? '' : lib\HostProcessing::serializeHost($this->url->host);
             break;
         case 'port':
             $value = is_null($this->url->port) ? '' : (string) $this->url->port;
             break;
         case 'pathname':
             $value = $this->url->nonRelativeFlag ? $this->url->path[0] : '/' . implode('/', $this->url->path);
             break;
         case 'search':
             $value = is_null($this->url->query) || $this->url->query === '' ? '' : '?' . $this->url->query;
             break;
         case 'searchParams':
             $value = $this->queryObject;
             break;
         case 'hash':
             $value = is_null($this->url->fragment) || $this->url->fragment === '' ? '' : '#' . $this->url->fragment;
             break;
         default:
             TypeHinter::triggerVisibilityErrorOrUndefinedNotice();
             $value = null;
     }
     return $value;
 }