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.
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.
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.
Content-Type untuk response JSON.Tambahkan endpoint baru untuk membuat user (method POST) dan mengembalikan user yang baru dibuat dalam format JSON.