Controller — Laravel

Controller memisahkan logika dari route — membuat kode lebih terorganisir. Membuat controller: php artisan make:controller UserController Controller dasar…

Controller memisahkan logika dari route — membuat kode lebih terorganisir.

Membuat controller:

php artisan make:controller UserController

Controller dasar:

class UserController extends Controller
{
    public function index()
    {
        $users = User::all();
        return response()->json($users);
    }

    public function show(int $id)
    {
        $user = User::findOrFail($id);
        return response()->json($user);
    }

    public function store(Request $request)
    {
        $user = User::create($request->all());
        return response()->json($user, 201);
    }
}

Menghubungkan route ke controller:

Route::get("/users", [UserController::class, "index"]);
Route::get("/users/{id}", [UserController::class, "show"]);
Route::post("/users", [UserController::class, "store"]);

Resource controller (shortcut untuk CRUD):

Route::apiResource("users", UserController::class);
// Otomatis membuat 5 route:
// GET    /users        → index
// POST   /users        → store
// GET    /users/{user}  → show
// PUT    /users/{user}  → update
// DELETE /users/{user}  → destroy

Yang akan kamu pelajari