Menampilkan dan Memahami Semua Data yang Dibawa oleh Object Request di Laravel
Dalam pengembangan aplikasi berbasis Laravel, khususnya sistem besar seperti Sistem Informasi Akademik, hampir semua proses penting bergantung pada data yang dikirim dari user ke server. Data itu dibungkus dan dikelola oleh satu objek inti bernama Request.
Sayangnya, banyak developer hanya menggunakan $request->input('field') tanpa benar-benar memahami apa saja yang sebenarnya dibawa oleh objek Request.
Padahal, Request di Laravel menyimpan:
Dan masih banyak lagi
Artikel ini akan membahas secara lengkap dan praktis bagaimana:
Melihat isi object Request
Jenis data yang dikandung Request
Cara menampilkannya
Contoh penggunaannya di Laravel (khususnya Laravel 6–10)
Apa itu Object Request di Laravel?
Request adalah representasi dari permintaan HTTP yang dikirim dari browser atau client ke aplikasi Laravel.
Contohnya:
Ketika user klik tombol "Simpan"
Ketika dosen input nilai
Ketika admin login
Ketika prodi submit sebaran MK
Semua data itu dikirim sebagai HTTP Request, dan Laravel membungkusnya dalam object:
Illuminate\Http\Request
Biasanya kita akses lewat:
public function store(Request $request)
atau:
request()Cara Melihat Seluruh Isi Object Request
Cara paling cepat dan paling sering dipakai developer profesional adalah:
dd($request->all());
atau
dd(request()->all());
Ini akan menampilkan semua data input dari form, query string, dan body request.
Contoh hasil:
array:5 [
"nim" => "202301001"
"nama" => "Ahmad"
"nilai" => "85"
"_token" => "eyJpdiI6..."
"semester" => "5"
]Menampilkan Data Request yang Lebih Lengkap
Kalau kamu ingin melihat bukan hanya input, tapi juga metadata request, gunakan:
dd(request());
Ini akan menampilkan object raksasa berisi:
Path
Method
Header
Session
Cookies
Route
Files
IP
Data URL & Routing
Laravel menyimpan banyak informasi tentang URL dan routing di dalam Request.
Menampilkan URL lengkap
request()->url();
Menampilkan path
request()->path();
Contoh:
sido/nilai
Menampilkan segmen URL
request()->segment(1);
request()->segment(2);
Contoh URL:
/sido/nilai/123
Maka:
segment(1) = sido
segment(2) = nilai
segment(3) = 123
Ini sangat berguna untuk:
Membedakan modul SIDO dan Prodi
Membedakan halaman publik dan admin
Data HTTP Method
Laravel menyimpan metode request:
request()->method(); // GET, POST, PUT, DELETE
request()->isMethod('post');
Ini sering dipakai untuk:
Form submit
API
Validasi
Data Input
Laravel menyediakan banyak cara membaca input:
$request->input('nim');
$request->get('nim');
$request->nim;
Untuk semua data:
$request->all();
$request->only(['nim','nama']);
$request->except('_token');Data File Upload
Jika user upload file:
$request->file('foto');
$request->hasFile('foto');
Detail file:
$file = $request->file('foto');
$file->getClientOriginalName();
$file->getSize();
$file->getMimeType();Data Session di Request
Laravel otomatis membawa session:
request()->session()->all();
session('tahunAkademik');
session('prodiId');
Ini sangat penting di sistem akademik.
Data User yang Login
Request juga membawa user:
request()->user();
auth()->user();
Kita bisa membaca:
id
role
permission
dosen_id
Data Route
request()->route()->getName();
request()->route()->uri();
Contoh:
dosen.simpanNilai
akademik.simpanNilai
Ini bisa dipakai untuk:
Membedakan input dosen vs prodi
Redirect otomatis
Security
Data Header & IP
request()->header('User-Agent');
request()->ip();
request()->server();
Berguna untuk:
Audit
Log keamanan
Monitoring
Contoh Kasus Nyata
Misalnya kamu ingin tahu apakah request datang dari dosen atau akademik:
$isDosen = request()->route()->getName() == 'dosen.simpanNilai';
Atau:
$isSido = request()->segment(1) == 'sido';Debug Request secara Profesional
Developer Laravel profesional sering pakai:
dd([
'url' => request()->url(),
'path' => request()->path(),
'method' => request()->method(),
'route' => request()->route()->getName(),
'user' => auth()->user(),
'data' => request()->all(),
]);
Ini adalah alat debug paling ampuh di Laravel.
Kesimpulan
Object Request di Laravel bukan sekadar wadah input form.
Ia adalah jantung komunikasi antara user dan aplikasi.
Di dalamnya terdapat:
Data form
URL
Route
Method
User
Session
Files
Header
IP
Jika kamu menguasai Request, maka kamu menguasai:
Keamanan
Validasi
Workflow
Akses kontrol
Arsitektur aplikasi
Dalam sistem informasi, pemahaman ini adalah wajib.
No comments:
Post a Comment