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, name 및 Price라는 세 개의 열이 포함된 "products"라는 데이터 테이블이 생성됩니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!