Laravel 响应:返回 HTML 1 个改进

问题

如何在控制器或路由中返回 HTML 内容的响应?

回答

所有路由和控制器处理完业务逻辑之后都会返回一个发送到用户浏览器的响应,Laravel 提供了多种不同的方式来返回响应,最基本的响应就是从路由或控制器返回一个简单的字符串,框架会自动将这个字符串转化为一个 Content-Typetext/html 的完整的 HTTP 响应:

Route::get('/', function () {
    return 'Hello World';
});

当然,大多数时候我们是需要把 HTML 视图 作为响应内容返回,这时可以使用全局辅助函数 view 即可,其第一个参数接受的是视图文件名,下面的例子将在响应中返回 welcome 视图文件的内容:

Route::get('/', function () {
    return view('welcome');
});

如果要控制 HTTP 状态码和头信息,可调用响应的 viewheader 方法:

Route::get('/hello', function () {
    return response()
        ->view('hello', ['text' => 'world'], 200)
        ->header('Content-Type', 'text/html; charset=UTF-8');
});

参考

本文为 Wiki 文章,邀您参与纠错、纰漏和优化
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!