Thinkphp5获取参数方法
封面图
•
2025-09-25
•
PHP
176
0
0
0
在 ThinkPHP 5 中,获取请求参数(如 GET、POST、PUT、DELETE 等)有多种方式,以下是常用的几种方法: --- ## ✅ 一、使用 `request()` 函数 这是最常用的方式,适用于所有类型的请求参数。 ### 1. 获取 GET 参数 ```php $param = request('get.param_name'); ``` ### 2. 获取 POST 参数 ```php $param = request('post.param_name'); ``` ### 3. 获取 PUT 或 DELETE 参数(通常用于 RESTful 接口) ```php $param = request('put.param_name'); ``` ### 4. 获取所有 GET 参数 ```php $params = request()->get(); ``` ### 5. 获取所有 POST 参数 ```php $params = request()->post(); ``` ### 6. 获取所有参数(包括 GET/POST/PUT/DELETE 等) ```php $params = request()->param(); ``` --- ## ✅ 二、使用 `input()` 方法 `input()` 是 `request()` 的封装,功能更强大,支持过滤和默认值。 ### 1. 获取 GET 参数 ```php $param = input('get.param_name'); ``` ### 2. 获取 POST 参数 ```php $param = input('post.param_name'); ``` ### 3. 获取所有参数(带默认值) ```php $param = input('param_name', 'default_value'); ``` ### 4. 获取所有参数(包括 GET/POST/PUT 等) ```php $param = input('param_name', 'default_value'); ``` > 注意:`input()` 默认会从 GET、POST、PUT、COOKIE、SERVER 等中获取参数。 --- ## ✅ 三、使用 `Request` 类 你也可以通过注入 `Request` 类来获取参数。 ```php use think\Request; public function index(Request $request) { // 获取 GET 参数 $get = $request->get(); // 获取 POST 参数 $post = $request->post(); // 获取所有参数 $all = $request->param(); // 获取指定参数 $name = $request->param('name'); // 获取 URL 中的参数(如 /user/123) $id = $request->route('id'); } ``` --- ## ✅ 四、RESTful 接口中的参数获取 对于 RESTful 接口,参数一般放在 URL 路由中,例如: ``` /user/123 ``` 你可以用 `route()` 方法获取: ```php $id = request()->route('id'); ``` --- ## ✅ 五、参数过滤与验证(推荐) ThinkPHP 提供了强大的参数验证功能,建议配合使用。 ```php use think\Validate; $data = input('post.'); $rule = [ 'name' => 'require|max:25', 'age' => 'number|between:1,100' ]; $validate = new Validate($rule); if (!$validate->check($data)) { return json(['code' => 0, 'msg' => $validate->getError()]); } ``` --- ## 📌 总结 | 方法 | 说明 | |------|------| | `request('get.name')` | 获取 GET 参数 | | `request()->post()` | 获取所有 POST 参数 | | `input('name')` | 获取任意来源的参数(推荐) | | `request()->param()` | 获取所有参数 | | `request()->route('id')` | 获取路由参数(RESTful) | --- 如果你有具体的使用场景(比如 API 接口、表单提交等),我可以给出更详细的示例。欢迎继续提问!
上一篇:
PhpStorm本地断点调试
下一篇:
PHP中使用cURL实现Get和Post请求的方法
标题录入,一次不能超过6条
返回顶部
留言
留言
评论