Luracast/Restler
리플렉션으로 일반 클래스 메서드에서 라우트, 유효성 검사, OpenAPI 문서를 생성하는 PHP 8 이상용 REST API 프레임워크입니다.
- 스타
- 1,386
- 포크
- 313
- 열린 이슈
- 33
- 마지막 커밋
- 3일 전
어떤 프로젝트인가요?
Restler를 사용하면 일반 PHP 클래스 메서드로 API 로직을 작성할 수 있습니다. 리플렉션과 PHPDoc 또는 속성을 사용해 메서드를 HTTP 라우트에 매핑하고, 타입이 지정된 매개변수를 검증하며, 내장 Swagger UI 탐색기와 함께 OpenAPI 3.0 문서를 생성합니다. 따라서 라우팅과 컨트롤러의 기본 코드를 대부분 직접 작성하지 않아도 됩니다.
기본 응답 형식은 JSON이며, 설정을 마치면 .xml, .csv, .xlsx 같은 파일 확장자로 다른 출력 형식을 선택할 수 있습니다. 이 프레임워크는 PHP-FPM, 지속적인 고처리량 서비스를 위한 Swoole 또는 OpenSwoole, ReactPHP, Workerman에서 실행할 수 있고 Bref를 통해 AWS Lambda에서도 사용할 수 있습니다. GraphQL 지원, OAuth 2.0 서버 예제, 요청 제한 기능도 포함합니다.
이 프로젝트는 PHP 8.0 이상을 대상으로 하며 Composer로 설치합니다. README에는 v5에서 마이그레이션하는 가이드와 CRUD, 인증, 버전 관리, HTML 템플릿을 다루는 예제 프로젝트가 포함되어 있습니다.
핵심 기능
- 01리플렉션을 통해 클래스 메서드를 REST 라우트에 자동으로 매핑
- 02타입이 지정된 매개변수를 검증하고 적절한 HTTP 상태 코드 반환
- 03PHPDoc 주석에서 Swagger UI와 함께 OpenAPI 3.0 문서 생성
- 04기본 JSON을 지원하고, 설정하면 XML, CSV, XLSX, YAML, HTML도 지원
- 05PHP-FPM, Swoole/OpenSwoole, ReactPHP, Workerman 또는 AWS Lambda에서 실행
- 06GraphQL 지원, 요청 제한 기능, OAuth 2.0 서버 예제 제공
활용 사례
- 기존 PHP 코드베이스에서 내부 API 또는 마이크로서비스 구축
- 같은 엔드포인트에서 최신 클라이언트에는 JSON을, 레거시 시스템에는 XML 또는 CSV 제공
- 제너레이터 스트리밍으로 대규모 데이터셋을 CSV 또는 Excel로 내보내기
- REST API 계층을 추가해 오래된 PHP 애플리케이션 현대화
빠른 시작
- 1
Composer로 패키지를 설치합니다
composer require luracast/restler:^6.0 - 2
API 클래스와 이를 매핑하는 public/index.php 게이트웨이를 만듭니다(README 참조)
- 3
내장 PHP 서버를 시작합니다
php -S localhost:8080 -t public
사용 전 알아둘 점
- PHP 8.0 이상이 필요합니다.
- 프로젝트 메타데이터에 라이선스가 지정되어 있지 않습니다.
- 버전 6에는 v5에서 호환성이 깨지는 변경 사항이 있으므로 업그레이드하려면 마이그레이션 가이드가 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- Restler은(는) 무엇인가요?
- 리플렉션으로 일반 클래스 메서드에서 라우트, 유효성 검사, OpenAPI 문서를 생성하는 PHP 8 이상용 REST API 프레임워크입니다. Restler를 사용하면 일반 PHP 클래스 메서드로 API 로직을 작성할 수 있습니다. 리플렉션과 PHPDoc 또는 속성을 사용해 메서드를 HTTP 라우트에 매핑하고, 타입이 지정된 매개변수를 검증하며, 내장 Swagger UI 탐색기와 함께 OpenAPI 3.0 문서를 생성합니다. 따라서 라우팅과 컨트롤러의 기본 코드를 대부분 직접 작성하지 않아도 됩니다.
- Restler은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- Restler에는 명시된 라이선스가 없습니다. 코드는 공개되어 있지만 라이선스가 없으면 재사용 허가가 명확하지 않으므로, 사용 전에 작성자에게 문의하는 것이 좋습니다.
- Restler은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. Restler의 마지막 커밋은 2026년 11월 4일입니다.
- Restler은(는) 어디에 사용할 수 있나요?
- 기존 PHP 코드베이스에서 내부 API 또는 마이크로서비스 구축 같은 엔드포인트에서 최신 클라이언트에는 JSON을, 레거시 시스템에는 XML 또는 CSV 제공 제너레이터 스트리밍으로 대규모 데이터셋을 CSV 또는 Excel로 내보내기 REST API 계층을 추가해 오래된 PHP 애플리케이션 현대화
- Restler는 어떻게 설치하나요?
- Composer로 패키지를 설치합니다: composer require luracast/restler:^6.0 API 클래스와 이를 매핑하는 public/index.php 게이트웨이를 만듭니다(README 참조) 내장 PHP 서버를 시작합니다: php -S localhost:8080 -t public
- Restler은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/Luracast/Restler
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Laravel 및 Lumen 애플리케이션을 Swoole에서 WebSocket, TCP/UDP, 비동기 작업을 지원하는 장기 실행 메모리 상주 PHP 서버로 실행하는 어댑터입니다.
Symfony는 웹 및 콘솔 애플리케이션을 만들기 위한 PHP 프레임워크이자 재사용 가능한 PHP 컴포넌트 모음입니다.
표준 타입 힌트로 API를 구축하고 자동 검증, OpenAPI 문서, 높은 성능을 제공하는 Python 웹 프레임워크입니다.