Home  >  Article  >  PHP Framework  >  Laravel creates responses, sets response headers, redirects, etc.

Laravel creates responses, sets response headers, redirects, etc.

齐天大圣
齐天大圣Original
2020-12-15 20:24:222610browse

All routes and controllers will return a response sent to the user's browser after processing the business logic. Laravel provides a variety of ways to return responses. The simplest is to return a string in the route or controller, and the bottom layer of laravel will automatically create a complete http response to return.

Route::get('index', function () {
    return 'study laravel'
});

If an array is returned, laravel will automatically convert it to json format for output. In addition, the following code is equivalent:

return ['name' => 'laravel', 'email' => 'laravel@qq.com'];
return response(['name' => 'laravel', 'email' => 'laravel@qq.com']);
return response()->json(['name' => 'laravel', 'email' => 'laravel@qq.com']);

Add response header

Adding a response header is very simple. You only need to use the header method. You can use multiple header methods to set multiple response headers.

return response('study laravel')
        ->header('Content-Type', 'text/html; charset=UTF-8')
        ->header('Php-Version', '7.4');

You can also use withHeaders to set multiple response headers at one time. This method accepts an array as the first parameter.

return response('study laravel')
         ->withHeaders([
             'Conetnt-Type' => 'text/html; charset=UTF-8',
             'Php-Version' => '7.4'
         ]);

Redirect

In laravel, there are several ways to implement redirection. Can be redirected through Route::redirect or function redirect. Because Route::redirect belongs to routing-related knowledge, here, we look at the redirect function.

return redirect('index/users');

Often, when a form is submitted and verification fails, we will return to the previous form page. Here, we need to use the back function to complete.

return back();

You can also redirect to a named route. If there are parameters in the route, pass it through the second parameter:

return redirect()->route('news', ['id' => 23]);

Often, we will re-direct after performing some logical processing. Directed to another controller to continue the next step. For example, when registering something requires filling in multiple forms.

return redirect()->action('IndexController@index', ['id' => 1]);

Sometimes you need to redirect to a domain name outside the application, you can also use away to complete the operation. It is without any encoding

return redirect()->away('http://google.com');

Other response types

View responses are very common and can be set using the view method

return response()
    ->view('welcome', $data, 200)
    ->header("Content-Type", "text/html;charset=utf-8");

In addition, laravel also provides download responses, file responses, etc. Since they are not used much in daily work, they will not be introduced here. Interested students can check relevant documents by themselves.

Recommended tutorial: "laravel framework"

The above is the detailed content of Laravel creates responses, sets response headers, redirects, etc.. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn