Menggunakan Request
Di tutorial ini, kita akan membahas cara menggunakan Request di Laravel. Request digunakan untuk mengambil data dari permintaan yang masuk, baik itu data dari form, query string, atau header.
1. Memahami Request
Di Laravel, semua permintaan HTTP diwakili oleh objek Illuminate\Http\Request
. Anda bisa menggunakan objek ini untuk mengakses input, file, dan mengelola berbagai jenis data dari permintaan.
2. Menggunakan Request di Controller
Untuk menggunakan Request, pertama-tama kita harus menyuntikkan objek Request
ke dalam metode controller kita.
Contoh:
use Illuminate\Http\Request;
class UserController extends Controller
{
public function store(Request $request)
{
// Mengakses data input
$name = $request->input('name');
// ...
}
}
3. Mengambil Input dari Request
3.1. Mengambil Input dengan input()
Anda bisa menggunakan metode input()
untuk mengambil data dari permintaan.
$name = $request->input('name');
3.2. Mengambil Input dengan get()
Metode get()
juga bisa digunakan untuk mengambil data.
$email = $request->get('email');
3.3. Mengambil Input dengan Default Value
Anda bisa memberikan nilai default jika data tidak ada.
$phone = $request->input('phone', 'not provided');
4. Mengambil Input dari Query String
Anda dapat mengambil data dari query string dengan cara yang sama.
$page = $request->query('page');
5. Mengambil Data dari Form Input
Jika Anda memiliki form, Anda dapat mengambil data menggunakan input()
atau request()
.
Contoh Form HTML:
<form action="/user" method="POST">
@csrf
<input type="text" name="name">
<input type="submit" value="Submit">
</form>
Mengambil Data di Controller:
public function store(Request $request)
{
$name = $request->input('name');
// Lakukan sesuatu dengan $name
}
6. Mengambil File dari Request
Jika Anda ingin mengambil file dari permintaan, Anda bisa menggunakan metode file()
.
Contoh:
public function upload(Request $request)
{
if ($request->hasFile('avatar')) {
// Menyimpan file
$path = $request->file('avatar')->store('avatars');
}
}
7. Validasi Input
Salah satu fitur powerful di Laravel adalah validasi input dari Request. Anda dapat melakukan validasi seperti berikut:
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'required|max:255',
'email' => 'required|email',
]);
// Jika validasi lulus, simpan data
}
8. Mengakses Header
Anda bisa mengakses header dari permintaan menggunakan metode header()
.
$userAgent = $request->header('User-Agent');
9. Menyimpan Data Request ke Session
Anda juga bisa menyimpan data request ke session jika diperlukan.
$request->session()->put('key', 'value');
Kesimpulan
Menggunakan Request di Laravel sangatlah mudah dan fleksibel. Anda dapat dengan cepat memperoleh data dari input, file, header, dan bahkan melakukan validasi. Pastikan Anda memanfaatkan semua fitur yang disediakan oleh Laravel untuk membuat aplikasi yang lebih baik.
Untuk lebih lanjut, Anda dapat merujuk ke dokumentasi resmi Laravel.