ThinkPHP5地址栏传参不用设置路由

来源:互联网 发布:ubuntu 国内源 编辑:程序博客网 时间:2024/06/08 01:21

对于初学者来说,看官方文档总是有些难受,毕竟好多小功能文档里面也没有;
下面我就说一下地TP5址栏传参和控制器类接收参数的问题;
举个例子:
正常模板访问控制器是这样的

<a href="{:url('admin/index/update')}" >更新数据</a>

但是要传参的话官方文档是这样的

Route::get('new/:id','News/read'); // 定义GET请求路由规则Route::post('new/:id','News/update'); // 定义POST请求路由规则Route::put('new/:id','News/update'); // 定义PUT请求路由规则Route::delete('new/:id','News/delete'); // 定义DELETE请求路由规则Route::any('new/:id','News/read'); // 所有请求都支持的路由规则

对,就是定义路由,这样我们是可以实现传值了,但是如果有多个(比如update)页面,那就不行了,路由冲突了,所以

<a href="{:url('admin/index/update',['id'=>$id])}" >更新数据</a>

地址栏就是这样的

http://serverName/admin/index/update/id/1.html

就是如此简单;
控制器接受数据

public function update($id){    dump($id);}

好了参数到了,就等你代码了

原创粉丝点击