laravel学习笔记--响应篇
创建响应
Laravel 提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串,框架会自动将这个字符串转化为一个完整的
HTTP 响应
return 'Hello World';
Response 对象
通常,我们并不只是从路由动作简单返回字符串和数组,大多数情况下,都会返回一个完整的 Illuminate\Http\Response 实例或视图
return response('hello', 200)
->header('Content-Type', 'text/plain')
添加响应头–在处理跨域资源的时候比较好用
大部分的响应方法都是可链式调用的,使得创建响应实例的过程更具可读性
return response('hello', 200)
->header('Content-Type', 'text/plain')
->header('X', 320);
添加 Cookies 到响应
可以使用响应上的 cookie 方法轻松地将为响应增加 Cookies。例如,你可以像这样使用 cookie 方法生成一个 cookie,并轻松地将其附加到响应上
return response('hello', 200)
->header('Content-Type', 'text/plain')
->cookie('name', 'value', 23);
重定向
全局辅助函数 redirect
return redirect('/');
有时候你可能希望将用户重定向到之前的位置,比如提交的表单无效时。这时你可以使用全局辅助函数 back 来执行此操作
return back()->withInput();
重定向到命名路由
return redirect()->route('login');
如果路由中有参数,可以将其作为第二个参数传递到 route 方法
return redirect()->route('profile', ['id' => 1]);
重定向到外部域名
return redirect()->away('https://www.baidu.com');
重定向到控制器行为
return redirect()->action([HomeController::class, 'index']);//第二参数还可以传递参数
重定向并使用闪存的 Session 数据(一次性session),再次刷新页面就没有了
return redirect('/user')->with('status', '修改成功');
文件下载–download
download 方法可以用于生成强制用户浏览器下载给定路径文件的响应。 download
方法文件名作为其第二个参数,它将作为用户下载文件的文件名
return response()->download(public_path('css/index.css'), 'ww.css');
流下载
有时,你可能希望将给定操作的字符串响应转换为下载响应,而不需要将其写入磁盘。此时可以使用 streamDownload
方法。这个方法接受回调、文件名和可选的头信息数组作为参数
return response()->streamDownload(function () {
echo 'ces';
}, 'laravel-readme.txt');
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!