Proyek kelima membangun REST API manajemen tugas dengan PHP murni — pelengkap sempurna setelah blog berbasis HTML. Kita merancang fondasi API, routing dengan parameter, lapisan repository di atas SQLite, format error yang konsisten, authentication berbasis token, testing end-to-end, dokumentasi OpenAPI, hingga container deployment.
Proyek ini menegatkan ulang materi REST API dalam bentuk praktik: setiap bagian menghasilkan kode yang benar-benar berjalan dan diuji, dari router mini hingga test suite end-to-end dan berkas Docker untuk deployment. Hasil akhirnya adalah API JSON yang siap dikonsumsi aplikasi lain.
Susun kerangka REST API: composer.json dengan PSR-4, front controller dengan guard CLI, dan response JSON pertama.
Buka → # Bagian 2: Routing dan RequestBangun Router dengan parameter {id} serta objek Request dan Response immutable yang bisa diuji tanpa web server.
Buka → # Bagian 3: Database dan RepositoryRancang skema tabel tasks di SQLite dan bangun TaskRepository dengan prepared statements di atas PDO.
Buka → # Bagian 4: Validation dan Error ResponsesTambahkan lapisan validasi input, bentuk error JSON yang konsisten, dan penanganan exception terkendali di front controller.
Buka → # Bagian 5: Authentication dan AuthorizationTambahkan tabel users, bearer token dengan hash SHA-256, endpoint login, dan pemeriksaan token yang melindungi seluruh route tugas.
Buka → # Bagian 6: API TestingBangun test suite PHPUnit end-to-end tanpa web server: request tiruan, database in-memory per test, dan assert untuk seluruh alur API.
Buka → # Bagian 7: Dokumentasi dan DeploymentTutup proyek dengan kontrak OpenAPI 3.1 untuk seluruh endpoint, Dockerfile untuk mengemas API, dan rekap tujuh bagian.
Buka →