>  기사  >  백엔드 개발  >  PHP 및 GraphQL을 사용하여 API를 구축하는 방법 알아보기

PHP 및 GraphQL을 사용하여 API를 구축하는 방법 알아보기

PHPz
PHPz원래의
2023-06-19 15:36:101157검색

인터넷 기술의 발전으로 프론트엔드와 백엔드 분리 아키텍처가 웹 개발의 주류가 되었습니다. 프런트엔드와 백엔드가 분리된 아키텍처에서 API는 프런트엔드와 백엔드를 연결하는 중요한 브릿지 역할을 합니다. API를 구축할 때 널리 사용되는 두 가지 기술 프레임워크인 PHP와 GraphQL은 개발자들이 널리 선호합니다. 이 문서에서는 PHP와 GraphQL을 사용하여 API를 구축하는 방법을 설명합니다.

1. PHP 구축 API

PHP는 웹 개발에 널리 사용되는 오픈 소스 스크립팅 언어로 웹 사이트 개발, 데이터베이스 애플리케이션, 로그 처리, 이미지 처리 및 기타 측면을 포괄합니다. API를 구축할 때 PHP를 백엔드 언어로 사용하여 프런트엔드와 상호 작용하여 데이터를 프런트엔드로 전송할 수 있습니다.

  1. PHP 설치

먼저 PHP 환경을 설치해야 합니다. 명령줄 창에 다음 명령을 입력하면 PHP가 로컬에 설치되었는지 확인할 수 있습니다.

php -v

PHP 버전 번호가 표시되면 PHP 환경이 설치된 것입니다. 설치되어 있지 않은 경우 [PHP 공식 홈페이지](https://www.php.net/)에 접속하여 다운로드 및 설치하셔야 합니다.

  1. 프레임워크 선택

PHP에는 Laravel, Symfony, Zend 등과 같이 선택할 수 있는 여러 프레임워크가 있습니다. 그 중 Laravel은 PHP 웹 애플리케이션 개발에 널리 사용되는 프레임워크입니다. Laravel 프레임워크를 사용하여 API를 생성하는 단계는 다음과 같습니다.

  1. 프로젝트 생성

명령줄 창에 다음 명령을 입력하여 "myapp"이라는 Laravel 프로젝트를 로컬로 생성할 수 있습니다:

composer create-project laravel/laravel myapp --prefer-dist
  1. 컨트롤러 생성

API를 생성하기 전에 제어 장치. 다음 명령을 입력하여 컨트롤러를 생성할 수 있습니다.

php artisan make:controller MyController

MyController에서 API의 비즈니스 로직 코드를 작성할 수 있습니다. 예를 들어 MyController에서는 다음과 같이 모든 사용자 정보를 조회하는 API 코드를 작성할 수 있습니다.

public function getAllUsers()
{
    $users = User::all(); // 查询所有用户信息
    return response()->json($users); // 返回JSON格式的用户信息
}

그 중 User는 Laravel의 Eloquent ORM을 통해 정의할 수 있는 사용자 모델을 나타냅니다.

  1. Routing

Laravel에서는 라우팅을 통해 API 요청을 처리할 수 있습니다. 방금 생성한 API에 다음 코드를 사용하여 라우팅을 추가할 수 있습니다.

Route::get('/users', 'MyController@getAllUsers');

그 중 '/users'는 요청의 URL 주소를 나타내고, 'MyController@getAllUsers'는 요청을 처리하는 컨트롤러 메서드를 나타냅니다.

  1. 프로젝트 실행

마지막으로 다음 명령어를 통해 생성된 Laravel 프로젝트를 실행할 수 있습니다.

php artisan serve

'http://localhost:8000/users'에 접속하면 모든 사용자의 JSON 형식 데이터를 볼 수 있습니다. 정보.

2. GraphQL을 사용하여 API 구축

RESTful API와 비교하여 GraphQL의 장점은 프런트 엔드에서 정확한 쿼리를 시작하여 필요한 데이터를 얻을 수 있어 데이터베이스 쿼리의 부담을 줄일 수 있다는 것입니다. 아래에서는 GraphQL을 사용하여 API를 구축하는 방법을 소개합니다.

  1. GraphQL 설치

GraphQL은 독립적인 API 서비스로 시작할 수 있으므로 먼저 설치해야 합니다. GraphQL은 다음 명령을 통해 설치할 수 있습니다:

npm install graphql-yoga
  1. Create Schema

GraphQL에서는 API 인터페이스를 정의하기 위해 스키마를 작성해야 합니다. 스키마는 각 데이터 유형의 유형, 각 필드의 반환 유형, 메서드의 입력 및 출력 매개 변수를 설명합니다. 예를 들어 이 스키마에서는 사용자 유형과 모든 사용자 정보를 쿼리하기 위한 인터페이스를 정의해야 합니다. 코드는 다음과 같습니다.

const typeDefs = `
  type User {
    id: ID!
    name: String!
    email: String
  }
  type Query {
    getAllUsers: [User]!
  }
`;
  1. Write Resolver

Resolver는 스키마의 각 필드를 구현하고 데이터를 얻는 방법을 설명합니다. 이 예제에서 모든 사용자 정보를 쿼리하는 Resolver 코드는 다음과 같습니다.

const resolvers = {
  Query: {
    getAllUsers: async () => {
      const users = await User.find();
      return users;
    },
  },
};
  1. 프로젝트 실행

마지막으로 GraphQL 서비스를 실행합니다.

const { GraphQLServer } = require('graphql-yoga');

const server = new GraphQLServer({ typeDefs, resolvers });
server.start({ port: 4000 }, () =>
  console.log(`Server is running on localhost:4000`)
);

'http에 액세스하여' 명령을 통해 서비스를 시작할 수 있습니다. ://localhost :4000/graphql', GraphQL 플레이그라운드 도구를 사용하여 API를 테스트할 수 있습니다.

결론

이 글에서는 PHP와 GraphQL을 사용하여 API를 구축하는 방법을 설명합니다. PHP에서는 Laravel 프레임워크를 사용하여 API를 생성할 수 있고, GraphQL에서는 graphql-yoga를 사용할 수 있습니다. 이 글의 내용을 공부함으로써 독자들은 PHP와 GraphQL을 사용하여 API를 구축하는 방법에 대해 어느 정도 이해하고 실제 프로젝트에 적용해 볼 수 있다고 믿습니다.

위 내용은 PHP 및 GraphQL을 사용하여 API를 구축하는 방법 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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