background image

if($C['URL_MODE'] == 1) //如果 URL 模式为 1 那么就在 GET 中获取控制器, 也就是
说 url 地 址 是 这 种 的 http://localhost/index.php?c= 控 制 器 &a=

 

方 法

{

 

$control   =   !empty($_GET['c'])   ?   trim($_GET['c'])   :   '   ';

 

$action   =   !empty($_GET['a'])   ?   trim($_GET['a'])   :   '   ';

 

}

 

 

else if($C['URL_MODE'] == 2) //如果为 2 那么就是使用 PATH_INFO 模式, 也就是 url

 

地 址 是 这 样 的

http://localhost/index.php/ 控 制 器 / 方 法 /

 

其 他 参 数

{

 

if(isset($_SERVER['PATH_INFO']))

 

{

 

//$_SERVER['PATH_INFO']URL 地址中文件名后的路径信息, 不好理解, 

 

来看看例子

// 比 如 你 现 在 的 URL

 

http://www.php100.com/index.php   那 么 你 的

$_SERVER['PATH_INFO']

 

// 但 是 如 果

URL

 

http://www.php100.com/index.php/abc/123  

//现在的$_SERVER['PATH_INFO']

 

的值将会是 index.php

 

文件名称后的内容 /abc/123/ 

$path

 

=

 

trim($_SERVER['PATH_INFO'],

 

'/');

 

$paths

 

=

 

explode('/',

 

$path);

 

$control

 

=

 

array_shift($paths);

 

$action

 

=

 

array_shift($paths);

 

}

 


上 面 的 代 码 从

url

地 址 中 获 取 了 控 制 器 和 方 法

// 这 里 判 断 控 制 器 的 值 是 否 为 空 ,  

 

如 果 是 空 的 使 用 默 认 的

$_GET['c'] = $control = !empty($control) ? $control : $C['DEFAULT_CONTROL']; 

//

 

$_GET['a'] = $action = !empty($action) ? $action : $C['DEFAULT_ACTION'];  
}

 

}

 

?>

 

注释写的很清楚, 这里我就不多说了, 做到这, 你就可以建立一个 Controller 目录, 然后

welcome.class.php

 

 

<?php

 

class

 

Welcome

 

{

 

public

 

function

 

index()

 

{

 

s

echo

 

'Hello';

 

}