Exemple #1
0
 public function __construct($url = null)
 {
     if ($url) {
         $parts = parse_url($url);
         if (isset($parts["scheme"])) {
             $this->setScheme(new Scheme($parts["scheme"]));
         } else {
             if (substr($url, 0, 2) === '//') {
                 $this->makeSchemeless();
             }
         }
         if (isset($parts["user"]) || isset($parts["pass"])) {
             $this->setAuthInfo(new AuthInfo($parts["user"], $parts["pass"]));
         }
         if (isset($parts["host"])) {
             $this->setHost(new Host($parts["host"]));
             if (isset($parts["port"])) {
                 $this->host->setPort($parts["port"]);
             }
         }
         if (isset($parts["path"])) {
             $this->setPath(new Path($parts["path"]));
         }
         if (isset($parts["query"])) {
             $this->setQuery(new Query($parts["query"]));
         }
         if (isset($parts["fragment"])) {
             $this->setFragment(new Fragment($parts["fragment"]));
         }
     }
 }