Routing

Routing (perutean) adalah pintu gerbang aplikasi Anda. Di sini Anda mendefinisikan URL apa saja yang bisa diakses dan Controller mana yang akan menanganinya. Semua definisi rute disimpan di file routes/web.php.

Basic Routing

Rute paling dasar di LamdaPHP menerima dua argumen: URI (alamat URL) dan Action (Array berisi Class Controller dan Method-nya).

routes/web.php
use Lamda\Core\Support\Facades\Route;
use App\Http\Controllers\GuestController;

// Mendaftarkan rute GET ke /beranda
Route::get('/beranda', [GuestController::class, 'beranda']);
  • '/beranda': URL yang akan diakses di browser (contoh: localhost:8000/beranda).
  • GuestController::class: Nama kelas Controller yang akan dipanggil.
  • 'beranda': Nama method (fungsi) di dalam Controller tersebut yang akan dieksekusi.

Available Router Methods

Router memungkinkan Anda untuk mendaftarkan rute yang merespons berbagai HTTP verbs:

Route::get('/news', [NewsController::class, 'index']);
Route::post('/news/store', [NewsController::class, 'store']);

Route Middleware

Anda juga dapat menyisipkan Middleware sebagai argumen ketiga. Ini berguna untuk memproteksi rute agar hanya bisa diakses oleh pengguna yang sudah login (Authenticated).

routes/web.php
use App\Middleware\AuthMiddleware;

// Rute ini hanya bisa diakses jika lolos cek AuthMiddleware
Route::get('/dashboard', [UserController::class, 'index'], AuthMiddleware::class);

Jika middleware menolak permintaan (misalnya user belum login), eksekusi tidak akan sampai ke Controller.