您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
Laravel基础之请求
发布时间:2019-09-13 11:08:17编辑:雪饮阅读()
请求
再控制器中需要用到请求对象时候,需要在方法形参上进行注入Request对象
获取请求方法
public function getShouye(Request $request){
$method=$request->method();
echo $method;
}
检测请求方式
$res=$request->isMethod('get');
var_dump($res);
获取请求端口
echo $request->getPort();
接收请求参数(不存在时用默认值)
echo $request->input('vip',2);
检测某个请求参数是否存在
$flag=$request->has('username');
var_dump($flag);
获取所有请求参数
$params=$request->all();
var_dump($params);
仅获取指定请求参数
$params=$request->only('username','password');
var_dump($params);
排除获取指定请求参数
$params=$request->except('username','password');
var_dump($params);
获取请求头参数
echo $request->header('host');
检测是否有文件上传
$flag=$request->hasFile('img');
注意:这里img是可以上传文件的表单中表单元素的name名,另外这个检测对于小文件可以检测,对于大文件也会返回false。
文件上传
$flag=$request->hasFile('img');
if($flag){
$request->file('img')->move('./uploads/','test.jpg');
}
cookie与请求
cookie写入的两种方式
\Cookie::queue('name','xdl',20);
return response('')->withCookie('dmj','xy',5);
这两种方式的参数都是:键、值、有效期(分钟)
不同的是第二种方式必须要return而且其第一个方法response必须传参
cookie的两种读取方式
$arr[]=\Cookie::get('name');
$arr[]=$request->cookie('dmj');
var_dump($arr);
闪存与session
闪存写入(全部请求参数写入)
$request->flash();
实际上就是利用了session原理,这里叫做闪存,是因为写入一次后再次被读取了就会消失了。
闪存读取
echo old('username');
不能重复读取,再次读取结果为空
闪存应用示例:
为了用户体验友好,当用户输入数据提交后发现不符合时就将数据闪存,并返回之前页面,而之前页面也将所有需要自动读取用户上次输入的表单元素自动从闪存里面取得即可,这样用户体验就比较好了。
示例模板如:
<form method="post" action="/test2/post">
{{csrf_field()}}
<input type="text" name='username' value="{{old('username')}}">
<input type="submit" value="提交"/>
</form>
用于处理提交的控制器方法如:
public function postPost(Request $request){
$request->flash();
return back();
}
手动写入闪存
\Session::flash('username','dmj');
手动写的闪存不能直接用old函数来取,所以手动写的闪存在上面应用示例中要酌情修改下才可以。
读取手动写入的闪存
echo session('username');
关键字词:laravel,请求,参数,session,cookie,文件,闪存
上一篇:Laravel基础之控制器
下一篇:Laravel基础之响应