thinkphp 取得url参数
一般情况下URL中的参数就是通过GET方法获取,但是由于PATHINFO的特殊性,URL地址最终需要被解析才能转换成GET参数,ThinkPHP对URL是按照一定的规则进行解析的,除非你使用了URL路由规则,如果你对URL做了特别的定制,但是又不想使用URL路由,那么可以使用框架提供的URL参数获取方法直接获取,
例如,我们访问一个如下的网址:
http://serverName/News/archive/2012/01/15
正常情况下,只有通过路由才能解析后面的2012/01/15,现在我们可以直接在News控制器的archive操作方法里面直接使用:
Class NewsAction extends Action {
Public function archive(){
$year = $_GET["_URL_"][2];
$month = $_GET["_URL_"][3];
$day = $_GET["_URL_"][4];
}
}
3.0版开始支持URL地址中的PATH_INFO方式的URL的参数获取方式,需要配置
VAR_URL_PARAMS参数,默认值是:
'VAR_URL_PARAMS' => '_URL_', // PATHINFO URL参数变量
使用 $id = $_GET['id'];可以取到值。
public function edit($id=0){
$id 无值。
}
标准是应该是$id = $_GET['id'];这样写,但我也常用直接写$id也可以得到值。
我是小白,请问之间的区别在哪?
function edit(){}你get过来时是没给方法给定$id这个参数的,所以没有值,你的那个$id。没你那里的代码我也不知道