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

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

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

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

按变量名绑定

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

namespace Home\Controller;
use Think\Controller;
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

最新文章

  1. CommonJS Promises/A规范
  2. [ACM_模拟][ACM_暴力] Lazier Salesgirl [暴力 懒销售睡觉]
  3. 动态磁盘恢复为基本磁盘--DiskGenius
  4. MSSTDFMT.dll系统文件(附2种MSSTDFMT.dll 注册方法)-系统增强
  5. QQ音乐产品经理黄楚雄:产品与用户的情感联系
  6. mysql报错1024-can't get hostname for your address
  7. UltraEdit MAC破解方法
  8. POJ2763-Housewife Wind-树上单点修改区间求和
  9. github提交代码后没有contribution问题
  10. PHP SMTP邮件发送(可加附件)
  11. [vt][xen]xenserver初始安装增加第二块硬盘&xen图形界面安装vm&设置xen里vm开机启动
  12. 9.21 form 和Ajax详解
  13. UI复习练习_优酷布局
  14. Nginx遇上Access Denied提示怎么解决
  15. ElasticSearch所使用的倒排索引的思想和使用场景
  16. WoW[www]
  17. 《java并发编程实战》读书笔记8--死锁,性能与可伸缩性,锁粒度锁分解锁分段
  18. 搭建Mac OS X下cocos2d-x的Android开发环境
  19. 当property遇上category
  20. python3 练习题100例 (十一)

热门文章

  1. 洛谷P2151 [SDOI2009] HH去散步 [矩阵加速]
  2. java 数组冒泡排序、转置(降序)
  3. Sublime 编译运行JavaScript
  4. aop相关术语
  5. Divisible by Seven CodeForces - 376C (数论)
  6. 【BZOJ 3998】 3998: [TJOI2015]弦论 (SAM )
  7. Eigen学习笔记2:C++矩阵运算库Eigen介绍
  8. 【51Nod 1238】最小公倍数之和 V3
  9. 鬼谷子的钱袋 2006HNOI
  10. 1.7(SQL学习笔记)游标