yii2-extensions/psr-bridge
最新稳定版本:0.1.3
Composer 安装命令:
composer require yii2-extensions/psr-bridge
包简介
PSR bridge for Yii2
README 文档
README
PSR bridge
Transform your Yii2 applications into high-performance, PSR-compliant powerhouses
Supporting traditional SAPI, RoadRunner, FrankenPHP, and worker-based architectures
Available deployment options
High-Performance Worker Mode
Long-running PHP workers for higher throughput and lower latency.
Features
Installation
composer require yii2-extensions/psr-bridge:^0.1
Quick start
Worker mode (FrankenPHP)
<?php declare(strict_types=1); // disable PHP automatic session cookie handling ini_set('session.use_cookies', '0'); require_once dirname(__DIR__) . '/vendor/autoload.php'; use yii2\extensions\frankenphp\FrankenPHP; use yii2\extensions\psrbridge\http\StatelessApplication; // Load environment variables from .env file $dotenv = Dotenv\Dotenv::createImmutable(dirname(__DIR__)); $dotenv->safeLoad(); // production default (change to 'true' for development) define('YII_DEBUG', $_ENV['YII_DEBUG'] ?? false); // production default (change to 'dev' for development) define('YII_ENV', $_ENV['YII_ENV'] ?? 'prod'); require_once dirname(__DIR__) . '/vendor/yiisoft/yii2/Yii.php'; $config = require_once dirname(__DIR__) . '/config/web/app.php'; $runner = new FrankenPHP(new StatelessApplication($config)); $runner->run();
Worker mode (RoadRunner)
<?php declare(strict_types=1); require __DIR__ . '/../vendor/autoload.php'; use yii2\extensions\psrbridge\http\StatelessApplication; use yii2\extensions\roadrunner\RoadRunner; define('YII_DEBUG', getenv('YII_DEBUG') ?? false); define('YII_ENV', getenv('YII_ENV') ?? 'prod'); require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php'; $config = require dirname(__DIR__) . '/config/web/app.php'; $runner = new RoadRunner(new StatelessApplication($config)); $runner->run();
PSR-7 Conversion
// Convert Yii2 request to PSR-7 $request = Yii::$app->request; $psr7Request = $request->getPsr7Request(); // Convert Yii2 response to PSR-7 $response = Yii::$app->response; $psr7Response = $response->getPsr7Response(); // Emit PSR-7 response $emitter = new yii2\extensions\psrbridge\emitter\SapiEmitter(); $emitter->emit($psr7Response);
Smart Body Parsing
The bridge automatically parses incoming PSR-7 request bodies based on the Content-Type header and your configured parsers (for example, application/json), ensuring Yii::$app->request->post() works seamlessly in worker mode without extra boilerplate.
Documentation
For detailed configuration options and advanced usage.
- ???? Installation Guide
- ⚙️ Configuration Reference
- ???? Usage Examples
- ???? Testing Guide
Package information
Quality code
Our social networks
License
统计信息
- 总下载量: 5.23k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 1
- 依赖项目数: 2
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2026-01-04