Controller

Holds business logic — lives in app/Controllers/.

UserController.php — Full CRUD Example

app/Controllers/UserController.php
namespace App\Controllers;
use App\Core\Controller;
use App\Models\User;

class UserController extends Controller
{
    public function index(): void
    {
        $users = User::all();
        $this->view('users/index', ['users' => $users]);
    }

    public function show(int $id): void
    {
        $this->json(User::find($id));
    }

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

    public function update(int $id): void
    {
        $data = $this->request()->only(['name', 'email']);
        User::where('id', $id)->update($data);
        $this->json(['message' => 'Updated']);
    }

    public function destroy(int $id): void
    {
        User::destroy($id);
        $this->json(['message' => 'Deleted']);
    }
}
$this->view()
Render a view
$this->json()
Return JSON
->request()->all()
All input data
->request()->only()
Belirli alanlar / Only fields