/** * * @param string $url * @return Gpf_Ui_Controller_Url */ public function parse($url) { $this->url = new Gpf_Ui_Controller_Url($url); $parsedUrl = parse_url('http://localhost/' . $url); if (isset($parsedUrl['query'])) { $this->url->setQuery($parsedUrl['query']); } if (isset($parsedUrl['fragment'])) { $this->url->setFragment($parsedUrl['fragment']); } $this->parsePath($parsedUrl); return $this->url; }
public function getUrl(Gpf_Ui_Page $controller) { $url = new Gpf_Ui_Controller_Url(); $pathString = ''; if ($controller->getKeyword() != '') { $pathString = $controller->getKeyword() . '_'; } foreach ($controller->getParams() as $name => $value) { $pathString .= $name . $value . '_'; } $pathString .= $controller->getCode() . $controller->getValue(); $url->setPathString($pathString); $query = ''; foreach ($controller->getQueryParams() as $name => $value) { $query .= $name . '=' . urlencode($value) . '&'; } $query = rtrim($query, '&'); $url->setQuery($query); return $url; }