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');
posted @   小信吖  阅读(76)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示