по мотивам этого кода: http://php.ru/forum/viewtopic.php?p=55787#55787 написал класс: PHP: <?php class Mojura_RequestUUU { var $prefix= ''; // external engine root var $handler= ''; // handler who will process the request var $params= array(); // uuu parameters (ordered index-associative array) var $post= array(); // get and post data by 1 array function Mojura_RequestUUU () { $prefix= dirname($_SERVER['SCRIPT_NAME']).'/'; $pathinfo= substr(preg_replace('/\?.*/','',$_SERVER['REQUEST_URI']),strlen($prefix)); if (strpos($pathinfo,'index.php/')===0): $pathinfo= substr($pathinfo,10); $prefix.= 'index.php/'; endif; $parts= array_filter(explode('/',$pathinfo)); @list($handler,$uin)= explode(':',array_shift($parts)); $params= array(); if ($uin) $params[]= $uin; foreach ($parts as $n => $part): $pair= explode(':',$part); if (count($pair)==2): $params[$pair[0]]= $pair[1]; else: $params[]= $part; endif; endforeach; $request= array(); $this->prefix= $prefix; $this->handler= ifs (trim(strtr($handler,array('.'=>'/')),'/'), 'catalog'); $this->params= $params; $this->post= $_GET+$_POST; } function uri ($handler=NULL, $params=array(), $get=array()) { // uri('topic/xml:flame_about_all',array('page'=>20),array('vardump'=>'v1')) $uri= '/'.strtr($handler,'/','.').'/'; if (is_string($params)): $uri.= trim($params,'/').'/'; else: foreach ($params as $name => $value): if (is_int($name)) $uri.= $value.'/'; else $uri.= $name.':'.$value.'/'; endforeach; endif; if (is_string($get)): $uri.= $get; else: if ($get) $uri.='?'; foreach ($get as $name => $value): $uri.= $name.'='.$value.'&'; endforeach; endif; return $uri; } } метод uri возвращает ссылку относительно корня сайта лучше его использовать как синглетон.
а в чём выражается правильность? Или нашёлся стандарт какой? Код (Text): ifs Объяви ты её в классе, как private.
правильные, потому, что я их считаю правильными подробней я изложил свою позицию в той теме. ifs - не объявлять же её в каждом классе ;-)