>  기사  >  백엔드 개발  >  PHP와 SQLite를 사용하여 RESTful API를 만드는 방법

PHP와 SQLite를 사용하여 RESTful API를 만드는 방법

WBOY
WBOY원래의
2023-07-28 15:16:521463검색

PHP 및 SQLite를 사용하여 RESTful API를 생성하는 방법

소개:
현재 개발에서 RESTful API는 점점 더 인기 있는 인터페이스 디자인 스타일이 되었습니다. 간단한 HTTP 동사(GET, POST, DELETE 등)를 사용하여 리소스를 작동하므로 서로 다른 애플리케이션 간의 데이터 상호 작용이 쉬워집니다. 이 기사에서는 PHP와 SQLite를 사용하여 기본 RESTful API를 만드는 방법을 알아봅니다.

1단계: PHP 및 SQLite 설치
시작하기 전에 PHP 및 SQLite가 설치되어 있는지 확인해야 합니다. 아직 설치되지 않은 경우 다음 방법으로 설치할 수 있습니다.

  1. PHP 설치: PHP 공식 웹사이트에서 최신 버전의 PHP를 다운로드하고 공식 가이드에 따라 설치할 수 있습니다.
  2. SQLite 설치: 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.