监控系统实践第15天:5天上手Laravel8.5之HTTP请求篇(4/5)
Posted 家铭didphp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控系统实践第15天:5天上手Laravel8.5之HTTP请求篇(4/5)相关的知识,希望对你有一定的参考价值。
监控系统实践第15天:5天上手Laravel8.5之HTTP请求篇(4/5)
前言
HTTP请求一般是指接收用户传递过来的参数,主要通过路由
与控制器
接收。
Laravel基础功能:HTTP请求(Request)
简介
控制器
与路由
对应的方法如果要接收HTTP请求
发送过来的参数,需要用到Request
类,接收HTTP请求
发送过来的参数,路由中不需要额外添加参数。
如何运用?
请求
主要用到Laravel
中的一个Request
类,这个类用法比较简单。
下面列举几个代码段。
1. 接收请求,无额外参数
继续以昨天的控制器ArtController
为例。
ArtController
代码:
<?php
namespace App\\Http\\Controllers;
use Illuminate\\Http\\Request;
class ArtController extends Controller
{
public function show(Request $request) {
echo 'show:' . $request->input('name');
}
}
路由
代码:
Route::get('show', [\\App\\Http\\Controllers\\ArtController::class, 'show']);
访问结果:
2. 接收请求,存在额外参数
继续以昨天的控制器ArtController
为例。
ArtController
代码:
<?php
namespace App\\Http\\Controllers;
use Illuminate\\Http\\Request;
class ArtController extends Controller
{
public function show(Request $request, $id) {
echo 'show:' . $request->input('name') . " 你的ID是:{$id}";
}
}
路由
代码:
Route::get('show/{id}', [\\App\\Http\\Controllers\\ArtController::class, 'show']);
访问结果:
3. 路由中接收请求
路由
与控制器
接收请求方法一直,都是使用Request
类:
use Illuminate\\Http\\Request;
Route::get('/', function (Request $request) {
//
});
4. 请求类Request的其它方法
其它方法部分可以牢记,部分选择性的记忆吧。
以下罗列几个常用的方法:
跳转到指定URI
redirect('c/adsasd');
获取所有输入
$request->all();
从所有的 Request 里面取出指定 key 的值
$request->get('name');
获取用户输入数据
$request->input('name');
获取用户输入数据,第二个是默认值,如果用户没有输入,就返回默认值
$request->input('name', 'laravel8');
获取传递过来的数组,单个顺序是从 0 开始
$name = $request->input('products.0.name');
$names = $request->input('products.*.name');
只获取 GET 数据
$request->query('name', 'laravel8');
只获取 POST 数据
$request->post('name', 'laravel8');
最后的补充
这里就不浪费大家的时间了,详细的方法可以查看官方文档,或者直接Request
类的源码。
以上的阐述只对有基础的朋友有作用,如果对以上的知识点有质疑或者不懂的可以在下方留言。
以上是关于监控系统实践第15天:5天上手Laravel8.5之HTTP请求篇(4/5)的主要内容,如果未能解决你的问题,请参考以下文章
监控系统实践第12天:5天上手Laravel8.5之路由篇(1/5)
监控系统实践第13天:5天上手Laravel8.5之中间件篇(2/5)
监控系统实践第14天:5天上手Laravel8.5之控制器篇(3/5)
监控系统实践第10天:用宝塔部署Laravel8.5框架的站点