Request trong Laravel
Bài viết trước mình đã giới thiệu các bạn middleware trong laravel. Hôm nay mình sẽ làm rõ thuật ngữ request trong laravel nhé.
Contents
1. Request là gì?
Request là những yêu cầu gửi về server, như dữ liệu của form, các api,…
2. Điều kiện sử dụng Request
Để sử dụng Request thì trong file sử dụng phải khai báo use Illuminate\Http\Request
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function store(Request $request) { $name = $request->input('name'); // } }
Request không phải là tham số được truyền trên Route nhé.
Route::put('user/{id}', 'UserController@update'); <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function update(Request $request, $id) { // } }
3. URL với Request
Ví dụ ta có đường link: http://blogcongnghe.tronghao.site/baiviet/02
$uri = $request->path();
Kết quả sẽ cho baiviet/02.
$url = $request->url();
Kết quả sẽ cho http://blogcongnghe.tronghao.site/baiviet/02.
4. Kiểm tra method với Request
$method = $request->method(); if ($request->isMethod('post')) { // }
5. Lấy dữ liệu từ Request
$input = $request->all();
Toàn bộ dữ liệu sẽ được trả về dưới dạng mảng.
$name = $request->input('name');
Kết quả sẽ trả về một biến dữ liệu.
$name = $request->input('name', 'age');
Với cách gọi này thì tham số thứ hai sẽ là tham số mặc định nếu như trường input name không tồn tại. Nếu không tồn tại kết quả sẽ cho ra là age.
a. Lấy nhiều trường dữ liệu
$input = $request->only(['name', 'age']);
Kết quả sẽ trả về mảng dữ liệu của hai trường name và age.
$input = $request->except(['name', 'age']);
Kết quả cũng trả về mảng toàn bộ dữ liệu ngoài name và age.
b. Kiểm tra dữ liệu
if ($request->has('name')) { // }
Code trên để kiểm tra có dữ liệu hay không?
6. Cookie với Request
$value = $request->cookie('name');
Còn các request liên quan đến up file, hình ảnh,… các bạn xem thêm nhé!
Kết Luận
Mình đã hướng dẫn các bạn về request trong laravel. Có yêu cầu tất nhiên phải có trả về, mình cũng đã có viết bài Responses trong Laravel bạn tìm hiểu thêm nhé!