socket-manager/rest-api
Composer 安装命令:
composer create-project socket-manager/rest-api
包简介
PHP製のREST-API/RESTful-APIサーバー開発環境。PSR-7準拠、ステートマシン対応、ChunkedやSSEなどの高度なAPI処理をサポート。
关键字:
README 文档
README
本プロジェクトは、REST-API および RESTful-API を高速かつ柔軟に構築するための PHP 製クロスプラットフォーム対応サーバー開発環境です。
SOCKET-MANAGER Framework をベースに、PSR-7準拠のHTTPメッセージ、イベント駆動、ステートマシン、Chunked Transfer、SSE など、モダンなAPI開発に必要な機能を網羅しています。
REST-API / RESTful-API の両方に最適化された構成により、拡張性の高い API サーバーを効率的に構築できます。
【 特徴 】
REST-API / RESTful-API 対応
標準的な REST-API 設計に加え、RESTful-API の思想に沿ったリソース指向の実装にも対応しています。
PHP が動作する環境であれば OS を問わず利用できます。
クロスプラットフォーム(PHP環境)
Linux / macOS / Windows など、PHP が動作する環境であれば同一の開発体験を提供します。
PSR-7準拠のリクエスト/レスポンス
本プロジェクトは PSR-7(HTTP Message Interface)に準拠しており、
REST-API / RESTful-API の標準的な実装と高い互換性を持ちます。
OAuth2 などの PSR-7 対応認証モジュールとも連携可能です。
PSR-7 公式仕様:
https://www.php-fig.org/psr/psr-7/
PSR-7 ラッパーの詳細な使い方はこちら:
https://socket-manager.github.io/document/rest-api/psr7.html
SOCKET-MANAGER Framework 製
SOCKET-MANAGER Framework が持つビルトインのステートマシンにより、
REST-API / RESTful-API の実装方式を柔軟に選択できます。
【 実装形態 】
1. イベントハンドラタイプ
単一ハンドラで REST-API を実装するシンプルな方式です。
一般的な RESTful-API の CRUD 実装に最適です。
2. ステートマシンタイプ
UNIT(状態)単位で処理を分割する方式で、以下のような REST-API / RESTful-API の高度な処理に最適です。
- Chunked Transfer(チャンク転送)
- Server-Sent Events(SSE)
- Range送信
- IPC(サーバー間通信)
- 長時間接続・分割送信が必要なAPI
通常のサーバー設定では単一ハンドラでまとめて送信されがちなチャンク転送も、
ステートマシンタイプではほぼ確実に分割送信されます。
Chunked Transfer デモ(分割送信)
ステートマシンタイプでは、Chunked Transfer による分割送信が確実に行われます。
以下の GIF アニメでは、5秒間隔でチャンクが送信される様子を確認できます。
SSE(再接続対応)デモ
Server-Sent Events(SSE)では、クライアントが切断された場合でも再接続後に続きから受信できます。
以下の GIF アニメでは、接続断 → 再接続 → 続きのイベント受信までの流れを確認できます。
【 サンプル 】
REST-API / RESTful-API の動作確認ができるサンプルを同梱しています。
イベントハンドラタイプ/ステートマシンタイプの両方を用意しています。
ユーザー情報操作(CRUD)
- GET: ユーザー一覧取得
- POST: 新規ユーザー作成
- PUT: ユーザー全体更新
- PATCH: ユーザー部分更新
- DELETE: ユーザー削除
Multipart アップロード
- アップロード済みファイルの確認
- Multipart形式でのファイルアップロード
Chunked アップロード
- Chunkedアップロード済みファイルの確認
- curlコマンドによるアップロード(ブラウザ制約回避のため)
チャンク転送デモ
SSE(再接続対応)デモ
Rangeヘッダを使った分割送信デモ
【 ドキュメント 】
本 README では概要とサンプルを中心に紹介しています。
実装方式(イベントハンドラ型 / ステートマシン型)、PSR-7 ラッパー、ルーティング、Chunked / SSE / Range 送信などの詳細仕様は
以下の公式ドキュメントにまとめています。
REST-API サーバー開発環境ドキュメント:
https://socket-manager.github.io/document/rest-api/
【 導入方法 】
以下のコマンドで REST-API / RESTful-API 開発環境を作成します。
composer create-project socket-manager/rest-api <任意のプロジェクトフォルダ>
【 サンプルの起動方法 】
1. サーバー起動
REST-API / RESTful-API の実装方式を選択して起動できます。
イベントハンドラタイプ
php worker app:event-handler-sample
ステートマシンタイプ
php worker app:state-machine-sample
2. ブラウザでサンプル画面を表示
http://localhost:10000/sample.html
※ サンプルサーバーが Web サーバーを兼ねているため、別途 Web サーバーは不要です。
※ ドキュメントルートは ./setting/parameter-sample.php で変更可能(デフォルト:public/)。
【 Contact Us 】
バグ報告やご要望などはこちらから受け付けております。
【 License 】
MIT, see LICENSE file.
socket-manager/rest-api 适用场景与选型建议
socket-manager/rest-api 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 1, 最近一次更新时间为 2025 年 12 月 20 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「oauth2」 「server-sent-events」 「async」 「event-driven」 「ipc」 「non-blocking」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 socket-manager/rest-api 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 socket-manager/rest-api 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 socket-manager/rest-api 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A PHP 5.3 library for creating an EventSource stream.
The bundle for easy using json-rpc api on your project
A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.
An async event for hyperf.
Email Toolkit Plugin for CakePHP
The missing social authentication for thephpleague/oauth2-server, adapted from schedula/league-oauth2-social
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 32
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-20

