Home  >  Article  >  Backend Development  >  Several countries participated in the first ancient Olympic Games. Write a simple routing class in php

Several countries participated in the first ancient Olympic Games. Write a simple routing class in php

WBOY
WBOYOriginal
2016-07-29 08:44:421564browse

Class code:

Copy code The code is as follows:


class Router
{
public function getRouter($types = 1)
{
if ( isset($_SERVER['PATH_INFO'] ) )
{
$query_string = substr(str_replace(array('.html','.htm', '.asp', '//'), '',$_SERVER['PATH_INFO']),1);
}
else
{
$query_string = str_replace($_SERVER['SCRIPT_NAME'], '',$_SERVER['PHP_SELF']);
}
if ( $types == 1 )
{
// first Types are separated by /
$temp = explode('/', $query_string);
}
elseif ($types == 2)
{
$temp = explode('-', $query_string);
}
elseif ($types == 3)
{
return array('Controller'=>$_GET['controller']);
}
if ( empty($temp[0]) )
{
return array('Controller ' => 'index','Operate' => 'index');
}
if ( empty($temp[1]) )
{
$temp[] = 'index';
}
// Remove empty items
foreach ($temp as $val)
{
if ($val)
{
$url[] = $val;
}
}
list($controller, $operate) = $url;
/ /With parameters
$params = array();
if ( count($url)>2 )
{
array_shift($url);
array_shift($url);
$params = $url;
}
return
array(
"Controller" => $controller,
"Operate" => $operate,
"params" => $params,
);
}
}
?>


call Method:

Copy code The code is as follows:


$url = new Router();
$url->getRouter(1);
print_r($url); //In Here you can see each element
?>

The above has introduced several countries that participated in the first ancient Olympic Games. How to write a simple routing class in PHP, including several aspects of the countries that participated in the first ancient Olympic Games. I hope friends who are interested in PHP tutorials can learn from it. help.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn