Rumah > pembangunan bahagian belakang > tutorial php > Cara membuat API RESTful menggunakan PHP dan SQLite

Cara membuat API RESTful menggunakan PHP dan SQLite

WBOY
Lepaskan: 2023-07-28 16:14:01
asal
1501 orang telah melayarinya

Cara mencipta API RESTful menggunakan PHP dan SQLite

Pengenalan:
Dalam perkembangan hari ini, RESTful API telah menjadi gaya reka bentuk antara muka yang semakin popular. Ia menggunakan kata kerja HTTP mudah (GET, POST, DELETE, dll.) untuk mengendalikan sumber, menjadikannya mudah untuk interaksi data antara aplikasi yang berbeza. Dalam artikel ini, kita akan belajar cara mencipta API RESTful asas menggunakan PHP dan SQLite.

Langkah Pertama: Pasang PHP dan SQLite
Sebelum kita mula, kita perlu memastikan PHP dan SQLite dipasang. Jika ia belum dipasang, anda boleh memasangnya dengan:

  1. Pemasangan PHP: Anda boleh memuat turun versi terkini PHP dari laman web rasmi PHP dan ikuti panduan rasmi untuk memasangnya.
  2. Pemasangan SQLite: SQLite ialah pangkalan data terbenam, anda boleh memuat turun versi terkini dari tapak web rasminya dan memasangnya dengan mengikuti panduan rasmi.

Langkah 2: Buat pangkalan data
Selepas memasang PHP dan SQLite, kita perlu mencipta fail pangkalan data SQLite. Pangkalan data boleh dibuat menggunakan baris arahan atau alat pengurusan SQLite. Berikut ialah contoh mencipta pangkalan data menggunakan baris arahan:

$ sqlite3 mydatabase.db
Salin selepas log masuk

Ini akan mencipta fail pangkalan data bernama mydatabase.db dalam direktori semasa.

Langkah 3: Buat jadual data
Seterusnya, kita perlu mencipta jadual data untuk menyimpan sumber yang dikendalikan oleh API. Berikut ialah contoh mudah, kami mencipta jadual bernama "produk" untuk menyimpan maklumat produk:

$database = new SQLite3('mydatabase.db');
$table = "CREATE TABLE IF NOT EXISTS products (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    name TEXT NOT NULL,
    price REAL NOT NULL
)";
$database->exec($table);
Salin selepas log masuk

Ini akan mencipta jadual data bernama "produk" dalam pangkalan data, yang mengandungi tiga lajur: id, nama dan harga .

Langkah 4: Buat Laluan API
Untuk membolehkan API bertindak balas kepada permintaan HTTP yang berbeza, kami perlu mencipta penghala untuk menghantar permintaan. Berikut ialah contoh mudah:

class Router {
    private $routes = [];

    public function register($method, $path, $callback) {
        $this->routes[] = [
            'method' => $method,
            'path' => $path,
            'callback' => $callback
        ];
    }

    public function handleRequest() {
        $method = $_SERVER['REQUEST_METHOD'];
        $path = $_SERVER['PATH_INFO'];

        foreach ($this->routes as $route) {
            if ($route['method'] == $method && $route['path'] == $path) {
                call_user_func($route['callback']);
                return;
            }
        }

        http_response_code(404);
        echo "Not Found";
    }
}
Salin selepas log masuk

Kelas penghala ini membolehkan kami mendaftar laluan berbeza dan memanggil fungsi panggil balik yang sepadan apabila permintaan tiba.

Langkah 5: Laksanakan operasi CRUD API
Seterusnya, kami akan melaksanakan operasi CRUD API (buat, baca, kemas kini dan padam). Berikut ialah contoh:

$router = new Router();

$router->register('GET', '/products', function() {
    $database = new SQLite3('mydatabase.db');
    $results = $database->query("SELECT * FROM products");

    $data = [];
    while ($row = $results->fetchArray()) {
        $data[] = [
            'id' => $row['id'],
            'name' => $row['name'],
            'price' => $row['price']
        ];
    }

    echo json_encode($data);
});

$router->register('POST', '/products', function() {
    $data = json_decode(file_get_contents('php://input'), true);
    $name = $data['name'];
    $price = $data['price'];

    $database = new SQLite3('mydatabase.db');
    $database->exec("INSERT INTO products (name, price) VALUES ('$name', $price)");

    $lastInsertId = $database->lastInsertRowID();
    echo json_encode(['id' => $lastInsertId]);
});

// 同样的方式,我们可以实现PUT和DELETE方法来更新和删除产品信息。

$router->handleRequest();
Salin selepas log masuk

Kod contoh di atas melaksanakan operasi CRUD asas pada sumber produk. Permintaan GET akan mengembalikan tatasusunan JSON bagi semua maklumat produk dan permintaan POST akan mencipta produk baharu dan mengembalikan ID produk baharu.

Ringkasan:
Melalui langkah di atas, kami telah berjaya mencipta API RESTful mudah berdasarkan PHP dan SQLite. Melalui operasi penghala dan pangkalan data, kami boleh melakukan operasi CRUD biasa. Sudah tentu, ini hanyalah titik permulaan dan kami boleh terus membangunkan dan mengoptimumkannya berdasarkan keperluan sebenar. Saya harap artikel ini berguna untuk mempelajari dan mengamalkan API RESTful.

Atas ialah kandungan terperinci Cara membuat API RESTful menggunakan PHP dan SQLite. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan