Yii 2용 백엔드를 구축하는 방법?
이 튜토리얼에서는 Back4app을 사용하여 Yii 2의 백엔드를 구축하는 방법을 배웁니다.
Yii 2는 안전하고 효율적인 웹 애플리케이션을 만드는 데 도움을 주는 인기 있는 오픈 소스 PHP 프레임워크입니다.
Yii 프레임워크와 Back4app을 통합하면 데이터베이스 관리, 클라우드 기능, REST 및 GraphQL API, 사용자 인증, 실시간 쿼리와 같은 강력한 기능을 활용할 수 있으며, 백엔드 개발 프로세스를 가속화할 수 있습니다.
Back4app의 환경을 활용하여 수동 서버 구성 시간을 줄이고 Yii 2 코드를 작성하는 데 집중할 수 있는 방법을 보여드릴 것입니다.
이 단계를 따르면 강력한 보안 제어(ACL, CLP), 반복 작업 예약, 웹훅을 통한 외부 통합 설정 등 필수 기능에 대한 실습 경험을 얻을 수 있습니다.
이 튜토리얼이 끝나면 Yii 2 프로젝트를 위한 견고한 백엔드 구조를 갖추게 되어, 프로덕션으로 확장하거나 맞춤형 비즈니스 로직으로 향상시킬 준비가 될 것입니다.
또한 서드파티 API를 통합하거나 웹 애플리케이션에 새로운 기능을 구축할 준비가 잘 되어 있을 것입니다.
이 튜토리얼을 완료하려면 다음이 필요합니다:
- PHP (버전 7.4 이상) 설치 Yii 2를 실행하고 Composer 패키지를 관리하려면 호환 가능한 PHP 환경이 필요합니다.
시작하기 전에 모든 전제 조건이 준비되어 있는지 확인하세요. Back4app 프로젝트가 설정되고 로컬 Yii 2 환경이 준비되면 더 쉽게 따라할 수 있습니다.
Yii 2의 백엔드를 구축하기 위한 첫 번째 단계는 새로운 Back4app 프로젝트를 만드는 것입니다. 아직 하지 않았다면 다음 단계를 따르세요:
- Back4app 계정에 로그인하세요.
- Back4app 대시보드에서 “새 앱” 버튼을 클릭하세요.
- 앱 이름 지정하기 (예: “Yii2-Backend-Tutorial”).
프로젝트가 생성되면 Back4app 대시보드에서 확인할 수 있습니다. 이는 이 튜토리얼에서 탐색할 모든 백엔드 구성의 기초가 됩니다.
Back4app은 내부적으로 Parse 플랫폼을 사용합니다. Parse PHP SDK가 존재하지만, Parse의 REST 또는 GraphQL API를 사용하여 Yii 2 애플리케이션을 Back4app과 통합할 수도 있습니다.
이 접근 방식은 유연하여, Yii 컨트롤러나 모델에서 Back4app으로 HTTP 또는 GraphQL 요청을 보내는 코드를 작성할 수 있습니다.
- Back4app 대시보드에서 앱의 “앱 설정” 또는 “보안 및 키”로 이동합니다.
- 다음 정보를 찾습니다: 애플리케이션 ID, REST API 키, 및 Parse 서버 URL (보통 https://parseapi.back4app.com).
이 자격 증명을 가까이 두십시오. Yii 2 애플리케이션에서 Back4app으로 요청을 보낼 때 필요합니다.
귀하의 Back4app 프로젝트에는 Parse Server에 의해 자동으로 관리되는 클라우드 기반 데이터베이스가 포함되어 있습니다. REST, GraphQL 또는 Back4app의 AI 에이전트를 사용하여 데이터 모델을 만들고 객체를 저장할 수 있습니다.
- “데이터베이스” 섹션을 열어보세요 귀하의 Back4app 대시보드에서.
- 새 클래스를 만드세요 (예: “Todo”) 그리고 title (문자열) 및 isCompleted (부울)과 같은 열을 추가하세요.
Parse가 귀하의 Yii 코드가 데이터를 처음 보낼 때 이러한 열을 자동으로 생성하도록 할 수도 있습니다. 또한, Back4app의 AI 에이전트가 스키마 설정을 도와줄 수 있습니다:
- AI 에이전트를 열어보세요 귀하의 앱 대시보드 또는 메뉴에서.
- 데이터 모델을 설명하세요 (예: “Todo 클래스를 사용하여 Todo 앱 스키마 만들기”).
- AI 에이전트가 스키마를 생성하도록 허용하세요.
아래는 REST API를 사용하여 Todo 객체를 저장하는 예입니다. cURL 또는 PHP의 file_get_contents()를 사용하여 Yii 2 컨트롤러 액션에서 이를 구현할 수 있습니다.
컨트롤러에서 cURL을 사용하는 예제 Yii 2 PHP 코드 스니펫:
REST를 사용하여 동일한 데이터를 쿼리하는 방법은 다음과 같습니다:
Parse의 GraphQL 인터페이스를 사용하여 데이터 생성 및 읽기를 할 수 있습니다. 예를 들어, Todo:
Yii 2에서는 GraphQL 라이브러리 또는 간단한 HTTP 요청을 사용하여 Back4app GraphQL 엔드포인트와 상호작용할 수 있습니다: https://parseapi.back4app.com/graphql
실시간 업데이트를 위해 Back4app은 Live Queries, 클래스를 변경하는 것에 구독할 수 있게 해줍니다. Yii 2에서의 일반적인 사용은 덜 일반적일 수 있지만, Back4app 설정에서 Live Queries를 활성화하고 PHP에서 WebSocket 연결을 처리할 수 있습니다. 이는 더 고급 기능이므로, PHP 기반 웹 애플리케이션에서 실시간 기능을 구현하는 방법에 대한 자세한 내용은 Parse Live Queries 문서를 참조하십시오.
Back4app은 액세스 제어 목록 (ACLs) 및 클래스 수준 권한 (CLPs)을 제공하여 데이터를 보호합니다. ACL은 특정 객체에 적용되며, CLP는 각 클래스에 대한 전역 권한을 정의합니다.
- Back4app 대시보드에서 데이터베이스로 이동하여 클래스(예: “Todo”)를 선택합니다.
- CLPs 탭을 엽니다, 그리고 읽기/쓰기 권한을 구성합니다 (예: “인증 필요” 또는 “액세스 없음”).
REST 또는 GraphQL을 통해 데이터를 생성하거나 업데이트할 때 _ACL 필드를 포함하여 개별 객체에 대한 ACL을 설정할 수 있습니다. 예를 들어, REST를 사용하여:
이 객체는 이제 지정된 objectId를 가진 사용자만 접근할 수 있습니다.
Back4app에서 클라우드 코드를 사용하면 자체 서버를 관리하지 않고도 사용자 정의 서버 측 로직을 실행할 수 있습니다. 비즈니스 로직, 데이터 검증, 또는 트리거를 객체 생성, 업데이트 및 삭제를 위해 만들 수 있습니다.
아래는 텍스트 길이를 계산하는 간단한 클라우드 코드 함수(자바스크립트로 작성됨)입니다:
Cloud Code를 Back4app CLI를 통해 배포하거나 Cloud Code > Functions 섹션에서 직접 배포할 수 있습니다:
- Back4app CLI:
- 대시보드: 코드를 main.js에 복사/붙여넣기하고 배포를 클릭하세요.
간단한 REST POST 요청을 사용하여 Yii 2에서 함수를 호출할 수 있습니다:
또는 GraphQL을 통해:
Back4app은 Parse User 클래스를 안전한 인증의 기초로 사용합니다. REST 또는 GraphQL 호출을 통해 사용자를 생성하고 검증할 수 있습니다.
소셜 로그인을 위해 (구글, 애플, 페이스북 등), Back4app에서 OAuth 설정을 구성하고 Yii 2 애플리케이션에서 필요한 토큰을 처리하도록 설정하세요. Back4app의 소셜 로그인 문서를 참조하여 제공자별 가이드라인을 확인하세요.
사용자 보안을 향상시키기 위해 Back4app 대시보드의 이메일 설정에서 이메일 인증 및 비밀번호 재설정을 활성화하세요:
- Back4app 대시보드에서 이메일 설정으로 이동하세요.
- 이메일 인증을 활성화하고 이메일 템플릿을 사용자 정의하세요.
- 이메일이 제대로 전송되고 수신되는지 테스트하세요.
Back4app은 Parse 파일 시스템을 통해 안전한 파일 저장을 제공합니다. Parse PHP SDK도 옵션이지만, 일관성을 위해 REST를 다시 설명하겠습니다.
이것은 저장된 파일에 대한 url을 반환합니다. 그런 다음 해당 URL을 나중에 검색할 수 있도록 클래스(예: 사진)에 저장할 수 있습니다.
파일 업로드를 인증된 사용자 또는 특정 역할로 제한하려면 앱의 Parse Server 설정을 구성하세요. 더 세부적인 제어를 위해 이러한 설정을 ACL 및 CLP 규칙과 결합하세요.
이메일 인증은 사용자가 등록한 이메일 주소를 소유하고 있음을 보장하며, 비밀번호 재설정은 계정을 복구할 수 있도록 합니다.
- 이메일 인증 활성화 앱 설정 > 이메일 설정.
- “보낸 사람” 주소 및 이메일 템플릿 사용자 정의.
- 새 사용자 생성으로 테스트하여 인증 이메일이 전송되는지 확인합니다.
당신의 Yii 2 애플리케이션에서 사용자를 Parse의 비밀번호 재설정 엔드포인트. 나머지 흐름(실제 이메일 전송 등)은 Back4app 인프라에서 처리됩니다.
Back4app의 클라우드 작업을 사용하면 데이터 정리 또는 알림 전송과 같은 정기 작업을 예약할 수 있습니다. 이를 클라우드 코드(main.js)에 정의하고 대시보드에서 예약합니다.
웹훅은 Back4app 애플리케이션이 이벤트가 발생할 때 외부 서비스에 자동화된 HTTP 요청을 보낼 수 있도록 합니다. 예를 들어 새로운 Todo를 생성할 때.
- Back4app 대시보드에서, 더보기 > 웹훅로 이동합니다.
- 웹훅 엔드포인트를 추가합니다 (예: https://your-external-service.com/webhook).
- 트리거를 구성합니다 (예: “Todo 클래스에 새 레코드”).
웹훅을 사용하면 Todo 객체가 생성되거나 업데이트될 때마다 Slack, Stripe 또는 사용자 정의 API와 같은 다른 서비스에 알림을 보낼 수 있습니다.
Back4app 관리 앱은 코드를 작성하지 않고 데이터를 관리할 수 있는 포인트 앤 클릭 인터페이스입니다. 앱 대시보드 > 더보기 > 관리 앱로 방문하여 활성화할 수 있습니다. 관리 앱 활성화.
관리 사용자 생성 후, 관리 앱을 위한 전용 하위 도메인이 제공됩니다. 이를 통해 권한이 있는 팀원들은 Back4app 데이터베이스에서 CRUD 작업을 수행하고, 로그를 검토하거나 분석을 볼 수 있는 깔끔한 인터페이스를 이용할 수 있습니다. 코드가 필요 없습니다.
이 튜토리얼에서는 Back4app을 사용하여 Yii 2의 백엔드를 구축하는 방법을 배웠습니다.
클라우드 기반 데이터베이스를 구성하고, ACL 및 CLP로 강력한 보안을 설정하고, Cloud Jobs로 백그라운드 작업을 예약하고, 웹훅을 통해 외부 서비스를 통합했습니다. 또한 사용자 인증 및 파일 저장을 안전하게 관리하는 방법도 보았습니다.
웹 애플리케이션 구축을 위한 오픈 소스 Yii 프레임워크와 Back4app의 확장 가능한 인프라를 결합하여, 이제 개발 및 성장에 적합한 강력한 환경을 갖추게 되었습니다.
- 생산으로 나아가세요 데이터 모델을 확장하고, 추가 보안 설정을 적용하며, 성능을 최적화하여.
- 외부 API 통합 (결제 게이트웨이, 이메일 제공업체) Cloud Code 또는 직접 웹훅을 통해.
- 공식 Back4app 문서 탐색 고급 보안, 로그 분석 및 성능 최적화와 같은 심화 주제를 위해.
- 더 알아보세요 역할 기반 접근 제어, 캐싱 전략 및 고급 데이터베이스 관계를 사용하여 Yii 2로 복잡한 웹 애플리케이션을 구축하는 방법에 대해.
이 기반을 통해 Yii 2 프로젝트를 계속 향상시키고, 비즈니스 특정 논리에 집중하며, 사용자에게 강력하고 확장 가능한 기능을 제공할 수 있습니다. 현대 웹 애플리케이션을 코딩하고 구축하는 것을 즐기세요.