mobypolo/roadrunner-lumen
Composer 安装命令:
composer require mobypolo/roadrunner-lumen
包简介
RoadRunner <-> Lumen Integration Bridge
关键字:
README 文档
README
RoadRunner ⇆ Lumen bridge
Easy way for connecting RoadRunner and Lumen applications.
🐋 If you want to see an example of a laravel application in a docker container with RoadRunner as a web server - take a look at this repository.
Installation
Make sure that RR binary file already installed on your system (or docker image). Require this package with composer using next command:
$ composer require mobypolo/roadrunner-lumen
Installed
composeris required (how to install composer).
Usage
After package installation place .rr.yaml config in your work directory,
simple .rr.yaml config example (full example can be found here):
rpc: listen: tcp://127.0.0.1:6001 server: command: "php /app/vendor/mobypolo/roadrunner-lumen/bin/rr-lumen-worker" # maybe you need to update this path http: address: 0.0.0.0:8080 middleware: ["headers", "gzip"] pool: max_jobs: 4 # feel free to change this headers: response: X-Powered-By: "RoadRunner"
Roadrunner server starting:
$ rr serve -c /app/.rr.yaml
Known issues
Controller constructors
You should avoid to use HTTP controller constructors (created or resolved instances in a constructor can be shared between different requests). Use dependencies resolving in a controller methods instead.
Bad:
<?php use Illuminate\Http\Request; use Illuminate\Http\Response; use App\Http\Controllers\Controller; class UserController extends Controller { /** * The user repository instance. */ protected $users; /** * @var Request */ protected $request; /** * @param UserRepository $users * @param Request $request */ public function __construct(UserRepository $users, Request $request) { $this->users = $users; $this->request = $request; } /** * @return Response */ public function store(): Response { $user = $this->users->getById($this->request->id); // ... } }
Good:
<?php use Illuminate\Http\Request; use Illuminate\Http\Response; use App\Http\Controllers\Controller; class UserController extends Controller { /** * @param Request $request * @param UserRepository $users * * @return Response */ public function store(Request $request, UserRepository $users): Response { $user = $users->getById($request->id); // ... } }
Support
If you find any package errors, please, make an issue in a current repository.
License
MIT License (MIT). Please see LICENSE for more information. Fully inspired by eplightning and Spiral Scout.
mobypolo/roadrunner-lumen 适用场景与选型建议
mobypolo/roadrunner-lumen 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5.85k 次下载、GitHub Stars 达 1, 最近一次更新时间为 2021 年 07 月 21 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「lumen」 「roadrunner」 「php 8」 「Lumen 8」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 mobypolo/roadrunner-lumen 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 mobypolo/roadrunner-lumen 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 mobypolo/roadrunner-lumen 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Testing Suite For Lumen like Laravel does.
RoadRunner and Ubiquity integration
Stackdriver handler for Monolog (codeinternetapplications/monolog-stackdriver Fork).
Class to generate a standard structure for api json responses
Make Codeigniter4 work on Roadrunner Server.
Supercharge your Lumen application's performance.
统计信息
- 总下载量: 5.85k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-07-21