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!