Menu Navigasi

Tutorial Tutorial Pemrograman Part 78: Membangun RESTful API dengan PHP dan Slim Framework

AI Generated
27 Desember 2025
22 views
Tutorial Tutorial Pemrograman Part 78: Membangun RESTful API dengan PHP dan Slim Framework

Pendahuluan

Selamat datang di part 78 seri tutorial pemrograman PHP! Di bagian ini, kita akan menyelami dunia RESTful API dan belajar cara membuatnya dengan Slim Framework. Slim adalah microframework PHP yang ideal untuk mengembangkan API sederhana dan cepat. Sebelumnya, kita telah membahas PHP Generators untuk Iterasi Efisien. Pengetahuan tentang dasar-dasar PHP dan konsep OOP akan sangat membantu.

Prasyarat:

  • PHP 7.4 atau lebih tinggi
  • Composer (untuk manajemen dependensi)
  • Pengetahuan dasar PHP dan OOP
  • Seorang editor kode

Konsep Dasar RESTful API

REST (Representational State Transfer) adalah gaya arsitektur untuk membangun aplikasi web. Bayangkan REST sebagai pelayan restoran. Anda (klien) memberikan order (request) ke pelayan, dan pelayan mengantarkan makanan (response) kembali kepada Anda. Setiap request memiliki URL (endpoint) yang unik yang mengidentifikasi sumber daya (resource) yang ingin Anda akses. HTTP methods (GET, POST, PUT, DELETE) digunakan untuk melakukan operasi CRUD (Create, Read, Update, Delete) pada sumber daya.

Hands-on Coding: Membangun API Sederhana

Langkah 1: Install Slim Framework menggunakan Composer

composer require slim/slim:'4.*'
composer require nyholm/psr7:^1.0

Langkah 2: Buat file index.php


get('/', function (Request $request, Response $response, $args) {
    $response->getBody()->write("Selamat Datang di API Sederhana!");
    return $response;
});

$app->get('/users/{id}', function (Request $request, Response $response, $args) {
    $id = (int)$args['id'];
    $data = ['id' => $id, 'name' => 'User ' . $id];
    $payload = json_encode($data);

    $response->getBody()->write($payload);
    return $response
          ->withHeader('Content-Type', 'application/json');
});

$app->run();

Penjelasan Kode:

  • require __DIR__ . '/vendor/autoload.php';: Memuat autoloader Composer.
  • use statements: Mengimport kelas-kelas yang dibutuhkan.
  • $app = AppFactory::create();: Membuat instance aplikasi Slim.
  • $app->get('/', ...);: Mendefinisikan route untuk method GET ke endpoint '/'.
  • $request: Objek yang merepresentasikan request HTTP.
  • $response: Objek yang merepresentasikan response HTTP.
  • $args: Array yang berisi parameter dari URL (misalnya, {id}).
  • $response->getBody()->write(...);: Menulis konten ke body response.
  • $response->withHeader('Content-Type', 'application/json');: Menambahkan header 'Content-Type' untuk menunjukkan bahwa response adalah JSON.
  • $app->run();: Menjalankan aplikasi.

Langkah 3: Jalankan server PHP built-in

php -S localhost:8080 -t public public/index.php

Buka browser dan kunjungi http://localhost:8080/ dan http://localhost:8080/users/123 untuk melihat hasilnya.

Common Pittfalls

  • Lupa menambahkan header Content-Type untuk response JSON.
  • Kesalahan dalam penanganan error dan validasi input.
  • Tidak menggunakan HTTPS untuk koneksi yang aman.
  • Menggunakan method HTTP yang salah untuk operasi yang dimaksud (misalnya, menggunakan GET untuk membuat data).

Challenge

Tambahkan endpoint baru untuk membuat user (method POST) dan mengembalikan user yang baru dibuat dalam format JSON.

Sumber Referensi

Bagikan: