自動ドキュメント、管理UI、Next.js・Nuxt・React Native向けクライアント生成機能を備えた、REST/GraphQL API構築用のPHPフレームワーク。
Luracast/Restler
リフレクションを使い、通常のクラスメソッドからルート、バリデーション、OpenAPIドキュメントを生成するPHP 8以降対応のREST APIフレームワーク。
- スター
- 1,386
- フォーク
- 313
- 未解決の Issue
- 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 の数値は毎日更新されます。
関連プロジェクト
Django上で型ヒントを使ったREST APIを構築できるPython製Webフレームワーク。OpenAPIドキュメントの自動生成とPydanticによるバリデーションに対応。
データ検証、依存性注入、OpenAPI生成、ORM連携を備えた、API構築向けの柔軟なASGI Python Webフレームワークです。
LaravelやLumenのアプリをSwoole上で常駐型のPHPサーバーとして動かし、WebSocket、TCP/UDP、非同期タスクに対応するアダプターです。
Symfonyは、Webアプリケーションやコンソールアプリケーションを構築するためのPHPフレームワークと、再利用可能なPHPコンポーネント群です。
標準の型ヒントを使ってAPIを構築できるPython製Webフレームワーク。自動バリデーション、OpenAPIドキュメント、高いパフォーマンスを備えています。