/** * @param $json * @return Request */ public static function fromJSON($json) { $model = new self(); $data = json_decode($json, true); $model->setFromData($data); if (isset($data['method'])) { $model->setMethod($data['method']); } if (isset($data['parameters'])) { $model->setParameters($data['parameters']); } if (isset($data['segments'])) { $model->setSegments($data['segments']); } if (isset($data['environment'])) { $model->setEnvironment($data['environment']); } return $model; }
public function sub($path) { $base = new self(strval($path)); $sub = new self(); $a = $this->getSegments(); $b = $base->getSegments(); $s = array(); $i = 0; while (isset($a[$i]) && isset($b[$i]) && $a[$i] == $b[$i]) { $sub->setAbsolute(false); $i++; } $sub->setSegments(\array_slice($a, $i)); if ($i) { $sub->setAbsolute(false); } $sub->setClosed($this->isClosed()); return $sub; }