Controllers

Controller adalah "otak" dari aplikasi Anda. Daripada menulis semua logika penanganan permintaan di file rute, Anda dapat mengelompokkan perilaku penanganan permintaan terkait ke dalam satu kelas Controller.

Generating Controllers

LamdaPHP menyediakan utilitas baris perintah (CLI) bernama lamda untuk mempercepat pembuatan Controller. Jalankan perintah berikut di terminal:

Terminal
$ php lamda make:controller UserController

Perintah ini akan membuat file baru di app/Http/Controllers/UserController.php.


Basic Controller Structure

Setiap Controller di LamdaPHP harus memperluas (extend) kelas dasar Lamda\Core\Http\Controller. Ini memberikan akses ke metode-metode bantu yang berguna.

app/Http/Controllers/UserController.php
namespace App\Http\Controllers;

use Lamda\Core\Http\Controller;

class UserController extends Controller
{
    /**
    * Tampilkan profil user.
    */
    public function show($id)
    {
        return $this->view('user.profile', ['id' => $id]);
    }
}

Base Controller Methods

Kelas induk Controller menyediakan beberapa metode praktis untuk mengembalikan respons ke pengguna.

$this->view()

Merender tampilan HTML dari folder resources/views.

return $this->view('welcome', ['name' => 'Rizky']);

$this->json()

Mengembalikan respons JSON, otomatis mengatur header Content-Type: application/json.

return $this->json(['status' => 'success']);