学习笔记4-Action参数绑定

参数绑定功能默认是开启的,其原理是把URL中的参数(不包括模块、控制器和操作名)和操作方法中的参数进行绑定。

要启用参数绑定功能,首先确保你开启了URL_PARAMS_BIND设置:

'URL_PARAMS_BIND'       =>  true, // URL变量绑定到操作方法作为参数

参数绑定有两种方式:按照变量名绑定和按照变量顺序绑定

按变量名绑定

默认的参数绑定方式是按照变量名进行绑定,例如,我们给Blog控制器定义了两个操作方法read和archive方法,由于read操作需要指定一个id参数,archive方法需要指定年份(year)和月份(month)两个参数,那么我们可以如下定义:

namespace HomeController;
use ThinkController;
class BlogController extends Controller{
    public function read($id){
        echo 'id='.$id;
    }

    public function archive($year='2013',$month='01'){
        echo 'year='.$year.'&month='.$month;
    }
}

URL的访问地址分别是:

http://serverName/index.php/Home/Blog/read/id/5
http://serverName/index.php/Home/Blog/archive/year/2013/month/11

输出的结果依次是:

id=5
year=2013&month=11

按照变量名进行参数绑定的参数必须和URL中传入的变量名称一致,但是参数顺序不需要一致。也就是说

http://serverName/index.php/Home/Blog/archive/month/11/year/2013

和上面的访问结果是一致的,URL中的参数顺序和操作方法中的参数顺序都可以随意调整,关键是确保参数名称一致即可。

如果使用下面的URL地址进行访问,参数绑定仍然有效:

http://document.thinkphp.cn/manual_3_2.html#action_bind

原文地址:https://www.cnblogs.com/dekevin/p/4915654.html