/** * Make route from string * @param string $a_url * @return ZRoute */ public function &fromString($a_url) { while (substr($a_url, 0, 1) == Zoombi::SS) { $a_url = substr($a_url, 1); } $this->clear(); $req_arr = explode('?', (string) $a_url, 2); $this->setSegments(explode(Zoombi::SS, array_shift($req_arr))); parse_str(array_shift($req_arr), $var); $this->m_query->setData($var); return $this; }
/** * Load data from parsed ini file * @param string $a_filename * @return ZConfig */ function &fromIni($a_filename) { $ini = new ZIni($a_filename); parent::setData($ini->getData()); unset($ini); return $this; }
/** * Set route segments * @param array $a_seg * @return ZRoute */ public function &setSegments(array $a_seg) { $this->m_path->module = array_shift($a_seg); $this->m_path->controller = array_shift($a_seg); $this->m_path->action = array_shift($a_seg); $d = array(); foreach ($a_seg as $s) { if (!empty($s)) { $d[] = $s; } } $this->m_param->setData($d); return $this; }
/** * Set data to render * @param mixed $a_data * @return ZView */ public function &setData($a_data) { $this->m_data->setData($a_data); return $this; }
/** * * @param ZFile $a_data * @return ZConfig */ function &setData($a_data) { switch (gettype($a_data)) { default: parent::setData($a_data); break; case 'string': return $this->fromFile($a_data); case 'object': if ($a_data instanceof ZFile) { $d = parse_ini_string($a_data->get_contents(), true); if ($d and is_array($d)) { parent::setData($d); } } parent::setData($a_data); break; } return $this; }
function &setData($a_data) { switch (gettype($a_data)) { default: return parent::setData($a_data); case 'string': return $this->fromFile($a_data); } }