reactphp-x / laravel-zero
The Reactphp Framework build top of Framework X and Larave zero.
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 0
Type:project
pkg:composer/reactphp-x/laravel-zero
Requires
- php: ^8.2.0
- laravel-zero/framework: ^11.0.0
Requires (Dev)
- laravel/pint: ^1.15.2
- mockery/mockery: ^1.6.11
- pestphp/pest: ^2.34.7
- dev-master
- v11.0.0
- v10.4.0
- v10.2.0
- v10.1.0
- v10.0.1
- v10.0.0
- v9.2.0
- v9.1.4
- v9.1.3
- v9.1.2
- v9.1.1
- v9.0.0
- v8.9.0
- v8.8.0
- v8.7.0
- v8.6.0
- v8.5.0
- v8.4.0
- v8.3.0
- v8.2.0
- v8.1.0
- v8.0.0
- v7.2.2
- v7.2.1
- v7.2.0
- v7.1.0
- v7.0.0
- v6.4.0
- v6.3.0
- v6.2.0
- v6.1.0
- v6.0.0
- v5.8.5
- v5.8.4
- v5.8.3
- v5.8.2
- v5.8.1
- v5.8.0
- v5.7.20
- v5.7.19
- v5.7.18
- v5.7.17
- v5.7.16
- v5.7.15
- v5.7.14
- v5.7.13
- v5.7.12
- v5.7.11
- v5.7.10
- v5.7.9
- v5.7.8
- v5.7.7
- v5.7.6
- v5.7.5
- v5.7.4
- v5.7.3
- v5.7.2
- v5.7.1
- v5.7.0
- v5.6.20
- v5.6.19
- v5.6.18
- v5.6.17
- v5.6.16
- v5.6.15
- v5.6.14
- v5.6.13
- v5.6.12
- v5.6.11
- v5.6.10
- v5.6.9
- v5.6.8
- v5.6.7
- v5.6.6
- v5.6.5
- v5.6.4
- v5.6.3
- v5.6.2
- v5.6.1
- v5.6.0
- v4.0.26
- v4.0.25
- v4.0.24
- v4.0.23
- v4.0.22
- v4.0.21
- v4.0.20
- v4.0.19
- v4.0.18
- v4.0.17
- v4.0.16
- v4.0.15
- v4.0.14
- v4.0.13
- v4.0.12
- v4.0.11
- v4.0.10
- v4.0.9
- v4.0.8
- v4.0.7
- v4.0.6
- v4.0.4
- v4.0.3
- v4.0.2
- v4.0.1
- v4.0.0
- v3.10.1
- v3.10.0
- v3.9.2
- v3.9.1
- v3.9.0
- v3.8.1
- v3.8.0
- v3.7.2
- v3.7.1
- v3.7.0
- v3.6.12
- v3.6.11
- v3.6.10
- v3.6.9
- v3.6.8
- v3.6.7
- v3.6.6
- v3.6.5
- v3.6.4
- v3.6.3
- v3.6.2
- v3.6.1
- v3.6.0
- v3.5.4
- v3.5.3
- v3.5.2
- v3.5.1
- v3.5.0
- v3.4.3
- v3.4.2
- v3.4.1
- v3.4.0
- v3.3.4
- v3.3.3
- v3.3.2
- v3.3.1
- v3.3.0
- v3.2.1
- v3.2.0
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.6
- v3.0.5
- v3.0.4
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.0.14
- v2.0.13
- v2.0.12
- v2.0.11
- v2.0.10
- v2.0.9
- v2.0.8
- v2.0.7
- v2.0.6
- v2.0.5
- v2.0.4
- v2.0.3
- v2.0.2
- v2.0.1
- v2.0.0
- v1.7.0
- v1.6.0
- v1.5.0
- v1.4.0
- v1.3.8
- v1.3.7
- v1.3.6
- v1.3.5
- v1.3.4
- v1.3.3
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.4.10
- v0.4.9
- v0.4.8
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.6
- v0.3.5
- v0.3.4
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.12
- v0.2.11
- v0.2.10
- v0.2.9
- v0.2.8
- v0.2.7
- v0.2.6
- v0.2.5
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.1
- v0.1.0
This package is auto-updated.
Last update: 2025-10-06 12:56:14 UTC
README
reactphp-x基于 laravel-zero 和 reactphp 的异步web框架
install
composer create-project reactphp-x/reactphp-x dev-master -vvv
config
cp .env.example .env
启动项目
php artisan reactphp:http start
visit
Documentation
Route
routes/api.php
use ReactphpX\LaravelReactphp\Facades\Route; use React\Http\Message\Response; use Psr\Http\Message\ServerRequestInterface; Route::get('/', function (ServerRequestInterface $request) { return Response::plaintext( "Hello wörld!\n" ); }); $class = new class { public function index(ServerRequestInterface $request) { return Response::plaintext( "Hello wörld!\n" ); } }; Route::get('/at', get_class($class).'@index'); // Route::get('/controller', 'App\Http\Controllers\IndexController@index'); $middlware1 = function ($request, $next) { // todo middleware return $next($request); }; $middlware2 = function ($request, $next) { // todo middleware return $next($request); }; Route::group('/users', $middlware1, $middlware2, function () { Route::get('/', function (ServerRequestInterface $request) { return Response::plaintext( "Hello wörld!\n" ); }); Route::get('/{id}', function (ServerRequestInterface $request) { $id = $request->getAttribute('id'); return Response::plaintext( "Hello wörld! $id\n" ); }); }); Route::middleware($middlware1,$middlware2)->group('/users', function () { Route::get('/', function (ServerRequestInterface $request) { return Response::plaintext( "Hello wörld!\n" ); }); Route::get('/{id}', function (ServerRequestInterface $request) { $id = $request->getAttribute('id'); return Response::plaintext( "Hello wörld! $id\n" ); }); });
Middleware
use App\Http\Middlewares\ExampleMiddleware; Route::middleware(ExampleMiddleware::class)->group('/users', function () { Route::get('/', function (ServerRequestInterface $request) { return Response::plaintext( "Hello wörld!\n" ); }); });
Request Params
// 获取请求头 $serverParams = $request->getServerParams(); // 获取请求参数 $queryParams = $request->getQueryParams(); // Content-Type: application/x-www-form-urlencoded or Content-Type: multipart/form-data $name = $request->getParsedBody()['name'] ?? 'World'; // Content-Type: application/json $data = json_decode((string)$request->getBody());
Controller
use App\Http\Controllers\ExampleController; Route::get('/example', ExampleController::class.'@index');
cron
routes/cron.php 默认开启,在 config/cron.php
设置 enabled=false
关闭
/** * Finds next execution time(stamp) parsin crontab syntax. * * @param string $crontab_string : * 0 1 2 3 4 5 * * * * * * * * - - - - - - * | | | | | | * | | | | | +----- day of week (0 - 6) (Sunday=0) * | | | | +----- month (1 - 12) * | | | +------- day of month (1 - 31) * | | +--------- hour (0 - 23) * | +----------- min (0 - 59) * +------------- sec (0-59) */ new Crontab('* * * * * *', function () { echo 'every_second: '. date('Y-m-d H:i:s') . "\n"; });
异步ORM
请参考 https://github.com/reactphp-x/orm,该项目已集成
使用之前先配置数据库
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=123456
DB_DATABASE=xxxx
License
MIT