API sederhana untuk membuat order menggunakan PHP murni + PDO + MySQL.
.
├── config/
│ └── database.php # Konfigurasi koneksi MySQL
├── public/
│ └── index.php # Entry point / router
├── sql/
│ └── schema.sql # Schema DB + sample data
└── src/
├── autoload.php # PSR-4 style autoloader sederhana
├── Database.php # Singleton PDO connection
├── Controllers/
│ └── OrderController.php
├── Http/
│ └── JsonResponse.php
└── Models/
├── Order.php
└── Product.php
-
Buat database & isi sample data:
mysql -u root -p < sql/schema.sql -
(Opsional) Set environment variable untuk koneksi DB:
export DB_HOST=127.0.0.1 export DB_PORT=3306 export DB_NAME=shop_db export DB_USER=root export DB_PASS=secret
-
Jalankan PHP built-in web server dari root project:
php -S localhost:8000 -t public
Membuat order baru. Harga total dihitung otomatis dari products.price.
Request body (JSON):
{
"product_id": 1,
"quantity": 2
}Response sukses (201):
{
"status": "success",
"data": {
"id": 1,
"product_id": 1,
"product": "Laptop Asus",
"quantity": 2,
"unit_price": 12500000,
"total_price": 25000000
}
}Response error:
422—product_id/quantitytidak valid404— Produk tidak ditemukan409— Stock tidak mencukupi
Mengambil detail order berdasarkan id.
curl -X POST http://localhost:8000/api/orders \
-H 'Content-Type: application/json' \
-d '{"product_id": 1, "quantity": 2}'
curl http://localhost:8000/api/orders/1