퀵스타터즈

PHP를 위한 백엔드 구축 방법은?

39min

소개

이 튜토리얼에서는 PHP용 백엔드를 구축하는 방법을 배우게 됩니다. 이를 통해 서버 측에서 동적 웹 애플리케이션을 구동할 수 있습니다.

우리는 데이터베이스 관리, 클라우드 코드 함수, REST 및 GraphQL API, 사용자 인증, 실시간 쿼리와 같은 주요 Back4App 서비스를 통합하는 데 집중할 것입니다.

이 단계를 따르면 PHP 프로젝트에서 사용할 수 있는 안전하고 확장 가능하며 강력한 백엔드를 만들 수 있습니다.

또한 Back4App이 모든 것을 처음부터 구축하는 것에 비해 백엔드 개발을 가속화하는 이유를 살펴보아 시간을 절약하고 노력을 덜 수 있습니다.

Back4App의 인프라를 기반으로 고급 보안을 구현하고, 클라우드 작업으로 작업을 예약하며, 웹훅을 통해 외부 통합을 연결하는 방법을 발견하게 될 것입니다.

마지막에는 이 기본 서버 측 백엔드를 완전한 프로덕션 설정으로 성장시키거나, 실제 사용을 위한 타사 API 및 사용자 정의 논리를 통합할 준비가 될 것입니다.

전제 조건

이 튜토리얼을 완료하려면 다음이 필요합니다:

  • Back4app 계정과 새로운 Back4App 프로젝트 Back4app 시작하기. 계정이 없으면 무료로 생성하고 가이드를 따라 새 프로젝트를 준비하세요.
  • 기본 PHP 개발 환경 PHP가 설치된 로컬 환경을 설정하거나 PHP를 지원하는 호스팅 환경을 사용할 수 있습니다. 공식 PHP 문서.
  • cURL 지원 또는 HTTP 요청을 보내는 방법 대부분의 PHP 설치에는 기본적으로 cURL이 포함되어 있습니다. cURL 설치 (공식 문서).
  • 웹 애플리케이션 기본 사항에 대한 이해 HTTP, 서버 측 스크립팅 및 기본 데이터베이스 개념을 이해하는 것이 도움이 될 것입니다.

아래 단계에 들어가기 전에 이러한 전제 조건이 준비되어 있는지 확인하세요. Back4App 프로젝트가 설정되고 PHP 환경이 준비되어 있으면 따라하기가 더 쉬워집니다.

1단계 – Back4App 프로젝트 설정

새 프로젝트 만들기

Back4App에서 서버 측 백엔드를 구축하는 첫 번째 단계는 새 프로젝트를 만드는 것입니다. 아직 하지 않았다면 다음 단계를 따르세요:

  1. Back4App 계정에 로그인.
  2. Back4App 대시보드에서 “새 앱” 버튼 클릭.
  3. 앱 이름 지정 (예: “PHP-Backend-Tutorial”).
Document image


생성된 후, 새로운 Back4App 프로젝트가 대시보드에 나타납니다. 이 프로젝트는 향후 구성 단계의 기초가 될 것입니다.

Back4App에 REST API로 연결하기

PHP를 사용하고 Parse 전용 SDK 없이 작업하고 있으므로, Back4App REST 및 GraphQL API를 통해 통신할 것입니다. Back4App 대시보드에서 다음 자격 증명이 필요합니다:

  • 애플리케이션 ID
  • REST API 키
  • Parse 서버 URL (보통 https://parseapi.back4app.com)

이 정보는 앱의 앱 설정 또는 보안 및 키 섹션으로 이동하여 찾을 수 있습니다.

Document image


PHP에서는 cURL 또는 다른 라이브러리를 사용하여 HTTP 요청을 수행할 수 있습니다. 아래는 Back4App에 POST 요청을 보내는 간단한 예입니다:

PHP


이 코드 조각은 PHP 애플리케이션을 Back4App 백엔드에 연결하는 방법을 보여줍니다. YOUR_APPLICATION_ID, YOUR_REST_API_KEY, 및 기타 매개변수를 자신의 키에 맞게 수정하세요. 이렇게 하면 서버 측 코드가 새 프로젝트에서 데이터를 읽고 쓸 수 있습니다.

2단계 – 데이터베이스 설정

데이터 모델 만들기

Back4App 프로젝트가 준비되었으므로 데이터베이스를 구조화할 시간입니다. 데이터 모델은 웹 애플리케이션의 데이터가 어떻게 구성되는지를 정의합니다. 예를 들어, 작업이나 블로그 게시물을 클래스에 저장할 수 있습니다.

  1. “데이터베이스” 섹션으로 이동 당신의 Back4App 대시보드에서.
  2. 새 클래스를 생성 (예: “Todo”)하고 title (문자열) 및 isCompleted (부울)과 같은 필드를 추가합니다.
새 클래스 만들기
새 클래스 만들기


Back4App은 String, Number, Boolean, Pointer, Relation, File, 및 기타 다양한 데이터 유형에 대한 열을 생성할 수 있습니다. 또한 PHP 스크립트에서 객체를 처음 저장할 때 스키마가 자동으로 생성되도록 할 수 있습니다.

열 만들기
열 만들기


AI 에이전트를 사용한 데이터 모델 만들기

Back4App의 AI 에이전트는 데이터 모델 생성을 자동화할 수 있습니다:

  1. AI 에이전트를 대시보드에서 엽니다.
  2. “새로운 ToDo 앱을 Back4App에서 완전한 클래스 스키마로 생성해 주세요.”
  3. AI 에이전트가 데이터베이스 스키마를 생성하도록 합니다.
Document image


이 기능은 시간을 절약하고 서버 측 앱의 일관성을 유지할 수 있습니다.

데이터 읽기 및 쓰기 (REST API)

REST를 사용하여 Todo 클래스에 새 객체를 저장하려면 POST 요청을 보낼 수 있습니다:

Bash


PHP에서는 cURL을 사용하여 비슷한 작업을 수행할 수 있습니다. 예를 들어:

PHP


모든 기존 Todo 항목을 쿼리하려면:

Bash


데이터 읽기 및 쓰기 (GraphQL API)

Back4App은 GraphQL도 지원합니다. GraphQL 쿼리 또는 변형을 보내 데이터 삽입 또는 검색을 할 수 있습니다:

Text


삽입 (변형):

GraphQL


질문:

GraphQL


실시간 쿼리 사용하기 (선택 사항)

웹 애플리케이션에서 실시간 업데이트가 필요하다면 실시간 쿼리. Back4App 대시보드에서 실시간 쿼리를 활성화한 후, PHP 환경(또는 별도의 클라이언트)에서 WebSocket 방식을 사용하여 변경 사항을 구독하세요. JavaScript 클라이언트에서 더 일반적이지만, 필요하다면 PHP에서 별도의 소켓을 설정할 수 있습니다. 자세한 내용은 Back4App 실시간 쿼리 문서.

3단계 – ACL 및 CLP로 보안 적용하기

간략한 개요

ACL(액세스 제어 목록)CLP(클래스 수준 권한)는 누가 객체를 읽거나 쓸 수 있는지를 제어하여 데이터를 보호합니다. 이는 무단 접근으로부터 백엔드를 보호합니다.

Document image


단계별

  1. 클래스 수준 권한(CLPS) 설정하기 데이터베이스 대시보드에서. 공개 읽기/쓰기를 제한하거나 인증을 요구할 수 있습니다.
  2. ACL 구성하기 세부적인 제어가 필요하다면 각 객체에 대해. ACL은 특정 사용자 또는 역할에 대한 읽기/쓰기 접근을 지정할 수 있습니다.

자세한 내용은 앱 보안 가이드라인.

4단계 – 클라우드 코드 함수 작성하기

클라우드 코드의 이유

클라우드 코드는 비즈니스 로직, 트리거 또는 유효성 검사와 같은 작업을 위해 서버 측 JavaScript를 실행할 수 있게 해주며, 자체 서버를 설정할 필요가 없습니다. 이렇게 하면 특정 코드를 숨기고, 데이터 변환을 수행하며, 그 이상을 할 수 있습니다.

예제 함수

텍스트 길이를 계산하는 간단한 클라우드 코드 함수:

JS


이 함수는 PHP 스크립트에서 REST를 사용하여 호출할 수 있습니다:

Bash


배포

Cloud Code는 Back4App CLI 또는 Back4App 대시보드를 통해 배포할 수 있습니다.

NPM 모듈

추가 라이브러리가 필요하면 npm으로 설치하고 Cloud Code에 가져오세요. 이는 고급 서버 측 통합에 유용합니다.

5단계 – 인증 구성

인증 활성화

기본적으로 Back4App 프로젝트는 Parse.User 클래스를 통해 사용자 인증을 제공합니다. 사용자가 이메일을 확인해야 하는지 또는 사용자 이름/비밀번호로만 로그인할 수 있는지를 제어할 수 있습니다.

회원가입, 로그인, 로그아웃 (REST)

사용자를 생성하세요:

Bash


기존 사용자 로그인:

Bash


소셜 로그인

소셜 로그인(Google, Apple, Facebook)은 OAuth 흐름을 구성하여 가능합니다. 지침은 다음을 참조하십시오.소셜 로그인 문서.

6단계 – 파일 저장 처리

파일 저장 설정

REST를 통해 파일을 업로드할 수 있습니다:

Bash


JSON 응답에는 파일 URL이 포함되어 있습니다. 이 URL을 클래스에 저장하여 업로드된 파일을 참조할 수 있습니다.

예시

Bash


보안 고려사항

인증된 사용자 또는 특정 역할에서만 파일 업로드를 허용할 수 있습니다. 서버 설정에서 파일 업로드 규칙을 구성하십시오.

7단계 – 이메일 확인 및 비밀번호 재설정

개요

이메일 확인은 유효한 이메일 주소만 사용되도록 보장합니다. 비밀번호 재설정은 사용자가 안전하게 계정을 복구할 수 있도록 합니다.

대시보드 구성

  1. Back4App 대시보드에서, 앱 설정 > 이메일로 이동하십시오.
  2. 이메일 확인 활성화 및 원하는 템플릿을 설정하십시오.
  3. 비밀번호 재설정 활성화하여 사용자가 계정을 복구할 수 있도록 하십시오.

구현

활성화되면, 사용자 가입 시 확인 이메일이 전송됩니다. 또한 다음을 사용하여 비밀번호 재설정을 요청할 수 있습니다:

Bash


8단계 – 클라우드 작업으로 작업 예약하기

클라우드 작업의 기능

클라우드 작업을 사용하면 오래된 데이터를 제거하거나 정기적인 이메일을 보내는 등의 작업을 자동화할 수 있습니다. 이를 main.js에 작성하고 Back4App 대시보드에서 예약할 수 있습니다.

예시

JS

  1. 이 코드를 Back4App에 배포하십시오.
  2. 대시보드에서 작업을 예약하십시오. 앱 설정 > 서버 설정 > 백그라운드 작업 아래에서.
클라우드 작업 예약
클라우드 작업 예약


9단계 – 웹훅 통합

정의

웹훅은 이벤트가 발생할 때 다른 서비스에 HTTP 요청을 보낼 수 있게 해줍니다. 예를 들어, Back4App 클래스에서 새 레코드가 생성될 때입니다. 이는 결제 플랫폼, 이메일 마케팅 도구 또는 Slack 알림과 같은 외부 통합에 유용합니다.

구성

  1. 웹훅 패널을 Back4App 대시보드에서 엽니다 > 더보기 > 웹훅.
  2. 이벤트 데이터를 보낼 엔드포인트 URL로 새 웹훅을 추가합니다.
  3. 트리거를 선택합니다 (예: 객체 생성, 업데이트 또는 삭제).
웹훅 추가
웹훅 추가


또한 클라우드 코드 트리거에서 웹훅을 정의할 수 있으며, axios와 같은 Node.js 모듈로 HTTP 요청을 보낼 수 있습니다.

BeforeSave WebHook
BeforeSave WebHook


10단계 – Back4App 관리 패널 탐색

Back4App Admin App”은 비기술 사용자나 관리자가 코드를 작성하지 않고도 데이터를 관리할 수 있도록 하는 모델 중심의 인터페이스입니다. 이는 표준 Parse 대시보드보다 더 직관적인 데이터 처리 경험을 제공합니다.

어디에서 찾을 수 있나요?

  1. 관리 앱 활성화앱 대시보드 > 더보기 > 관리 앱로 이동하여.
  2. “관리 앱 활성화” 클릭하고 관리 자격 증명을 구성합니다.
  3. 관리 앱에 접근하기 위한 하위 도메인을 선택합니다.
관리 앱 활성화
관리 앱 활성화

Document image


새로 생성한 관리 자격 증명으로 로그인하여 데이터베이스 레코드, 사용자 계정, 역할 등을 관리하기 시작합니다.

Document image


결론

이 튜토리얼에서는 Back4App을 사용하여 PHP 웹 애플리케이션을 위한 서버 측 백엔드를 구축하는 방법을 배웠습니다. 안전한 데이터베이스를 설정하고, 실시간 기능을 활용하며, Cloud Code에서 사용자 정의 로직을 정의하고, 사용자 인증, 파일 저장 및 예약 작업을 탐색했습니다. 또한 웹훅과 관리 패널이 외부 서비스와 통합되어 데이터 관리를 간소화하는 방법도 보았습니다.

이러한 기반이 마련되었으므로, 다음 PHP 프로젝트를 위해 필요에 따라 확장할 수 있는 유연하고 확장 가능한 백엔드가 있습니다. 고급 기술, 사용자 정의 역할 또는 타사 API를 탐색하여 애플리케이션을 더욱 강력하고 동적으로 만들어 보세요.

다음 단계

  • 프로덕션 준비가 완료된 PHP 애플리케이션을 캐싱, 로드 밸런싱 또는 고급 보안을 추가하여 개선하세요.
  • 역할 기반 접근 제어를 추가하세요 또는 사용자 기반에 따라 고유한 인증 흐름을 추가하세요.
  • 공식 Back4App 문서를 참조하세요 성능 조정, 로그 및 분석에 대해 더 알아보세요.
  • 추가 튜토리얼을 시도하세요 여기서 배운 기술을 사용하여 전자 상거래에서 소셜 플랫폼에 이르기까지 실제 솔루션을 구축하세요.