PHP と SQLite を使用して RESTful API を作成する方法
はじめに:
今日の開発において、RESTful API はますます人気のあるインターフェイス設計スタイルになっています。単純な HTTP 動詞 (GET、POST、DELETE など) を使用してリソースを操作し、異なるアプリケーション間のデータ対話を容易にします。この記事では、PHP と SQLite を使用して基本的な RESTful API を作成する方法を学びます。
ステップ 1: PHP と SQLite をインストールする
始める前に、PHP と SQLite がインストールされていることを確認する必要があります。まだインストールされていない場合は、次の手順でインストールできます。
ステップ 2: データベースを作成する
PHP と SQLite をインストールした後、SQLite データベース ファイルを作成する必要があります。データベースは、コマンド ラインまたは SQLite 管理ツールを使用して作成できます。以下は、コマンド ラインを使用してデータベースを作成する例です。
$ sqlite3 mydatabase.db
これにより、現在のディレクトリに mydatabase.db という名前のデータベース ファイルが作成されます。
ステップ 3: データ テーブルを作成する
次に、API によって操作されるリソースを保存するデータ テーブルを作成する必要があります。以下は簡単な例です。製品情報を保存するために「products」という名前のテーブルを作成します。
$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);
これにより、ID、名前、価格を含む「products」という名前のデータ テーブルがデータベースに作成されます。このテーブルには 3 つの列があります。 。
ステップ 4: API ルーティングの作成
API がさまざまな HTTP リクエストに応答できるようにするには、リクエストをディスパッチするルーターを作成する必要があります。簡単な例を次に示します。
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"; } }
このルーター クラスを使用すると、さまざまなルートを登録し、リクエストが到着したときに対応するコールバック関数を呼び出すことができます。
ステップ 5: API の CRUD 操作を実装する
次に、API の CRUD 操作 (作成、読み取り、更新、削除) を実装します。以下に例を示します。
$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();
上記のコード例は、製品リソースに対する基本的な CRUD 操作を実装しています。 GET リクエストはすべての製品情報の JSON 配列を返し、POST リクエストは新しい製品を作成して新しい製品の ID を返します。
概要:
上記の手順により、PHP と SQLite に基づいたシンプルな RESTful API を作成することができました。ルーターとデータベースの操作を通じて、一般的な CRUD 操作を実行できます。もちろん、これは単なる出発点であり、実際のニーズに基づいてさらに開発および最適化することができます。この記事が RESTful API の学習と実践に役立つことを願っています。
以上がPHP と SQLite を使用して RESTful API を作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。