Skip to content
DOCUMENTATION / BACKEND

Routing & responses.

Route eksplisit, parameter URL, middleware dan respons JSON.

PHP 8.2+No buildDL 0.2 alpha

Route dan parameter

Semua route ditulis sebelum return $router. Handler menerima Request dan array parameter.

PHP
use DL\{Request, Response};
$router->get('/hello/{name}', static function (Request $request, array $params): Response {
    return Response::json(['message' => 'Hello ' . $params['name']]);
});

HTTP methods

Gunakan get atau post; add mendukung metode lainnya. Semua metode selain GET, HEAD dan OPTIONS diperiksa CSRF. HEAD memakai handler GET; metode salah menghasilkan 405 dan header Allow.

Middleware

Middleware menerima request dan fungsi next. Urutan array adalah urutan eksekusi masuk.

PHP
use DL\{Auth, Response};
$router->get('/account', fn() => Response::json(['user_id'=>Auth::id()]), [Auth::protect(...)]);

Input dan headers

Request::input berisi POST atau JSON, bukan query GET. Periksa query dari $_GET dengan validasi tipe. wantsJson mengenali Accept application/json dan path /api/. JSON dibatasi 64 KiB; JSON tidak valid menghasilkan 400.

Error dan redirect

Gunakan HttpException untuk status HTTP yang disengaja. Redirect menerima path lokal.

PHP
throw new DL\HttpException(404, 'Article not found.');
// Pada handler setelah mutasi berhasil:
return DL\Response::redirect(url('/account'));

Icons: Solar by 480 Design (CC BY 4.0) & Iconsax (MIT). PHP UI adapted from Coordiation. Logo: DesignLof.