luoxiaojun / sw-fw-less
Swoole Http Server 无框架
0.1.1
2021-11-25 09:09 UTC
Requires
- php: >=7.1
- ext-json: *
- ext-swoole: >=4.4.0
- aura/sqlquery: ^2
- bt51/ntp: ~0.1.0
- cakephp/event: ~3.7.1|~4
- cakephp/validation: ~3|~4
- dragonmantank/cron-expression: ^2.3
- filp/whoops: ~2.1@stable
- league/flysystem: ~1
- luoxiaojun/closure-php: dev-main
- luoxiaojun/grpc: dev-master
- luoxiaojun1992/monolog-co-stream-handler: ~1.0
- monolog/monolog: ^1
- nesbot/carbon: ^1.26.3|^2.0
- nikic/fast-route: ^1
- opis/closure: ^3.3
- php-di/php-di: ~6.0
- psy/psysh: ~0.10.4
- ramsey/uuid: ~3
- swlib/saber: ^1
- symfony/console: ~3.3.0|~5.3.0
- symfony/polyfill-php80: ~1.23.1
- vlucas/phpdotenv: ~2.2
Requires (Dev)
- mockery/mockery: ~1.2
- phpunit/phpunit: ~7.5|~8.1
Suggests
- ext-curl: *
- ext-jsonnet: *
- ext-pdo: *
- ext-phalcon: *
- ext-redis: *
- ext-smbclient: *
- apache/thrift: 0.11.0
- elasticsearch/elasticsearch: ~6
- ezyang/htmlpurifier: ^4.5
- huang-yi/swoole-watcher: ~0.0
- koala-framework/file-watcher: ~1.0
- lcobucci/jwt: ~3.2
- luoxiaojun1992/laravel-elasticsearch: ~1.0
- openzipkin/zipkin: 1.3.2
- overtrue/flysystem-qiniu: ~1
- php-amqplib/php-amqplib: 2.8.1
- robgridley/flysystem-smb: ~1.0.3
- symfony/translation: ~4.0.0|~5.3.0
- symfony/var-dumper: ~3.0|~5.3.0
- xxtime/flysystem-aliyun-oss: 1.2.0
- zendframework/zend-diactoros: ~2.1
This package is auto-updated.
Last update: 2024-09-24 12:23:42 UTC
README
描述
Swoole http server 无框架
特性
- 更快的路由器
- 路由器 & 全局中间件
- 模型(MySQL & Elasticsearch、Json 可序列化、Array 可访问)
- 查询构建器(MySQL & Elasticsearch)
- 连接池(MySQL、Redis、实验性 AMQP-0-9-1、实验性 HBase)
- 存储(File、Qiniu、Alioss)
- 完全协程
- 日志(基于 Monolog)
- 分布式锁(基于 Redis)
- 参数验证器
- 监控
- AMQP-0-9-1
- Zipkin 跟踪
- 动态故障注入
- 热重载(包括 biz 代码、配置、路由,仅推荐开发使用)
- 实验性 Grpc(必须开启 http2)
- Apollo 配置中心
注意
- 不要在控制器或中间件构造函数中包含 I/O 操作
- 不要开启抢占式调度器
Composer 包审查建议
- 命名空间冲突
- 无命名空间的函数重复
要求
- Composer 1.x
- PHP 7.1+
- Swoole 4.2.10+
安装
composer create-project luoxiaojun/sw-fw-less-app=dev-master sw-fw-less --prefer-dist -vvv
部署
Nginx
Nginx 配置示例(根据您的需求修改)
server { listen 80; ## Modify according to your requirements server_name www.sw-fw-less.dev; location / { ## Modify according to your requirements proxy_pass http://127.0.0.1:9501; } }
Docker
docker run -d -P luoxiaojun1992/sw-fw-less:latest
用法
启动服务器
php start.php
示例 API
curl -i 'http://127.0.0.1:9501/ping'
Grpc 生成器
cd tools && ./generate_grpc.sh path/to/grpc/bins/opt/grpc_php_plugin
性能
环境
- OS: MacOS 10.14.1
- CPU: 2.3 GHz Intel Core i5 4 核心
- 内存: 16 GB 2133 MHz LPDDR3
- Swoole: 4.2.9
- PHP: 7.2.8
- Redis: 4.0.11
- API: http://127.0.0.1:9501/redis?key=key
- 并发: 300
- 工具: JMeter 4.0 r1823414
文档
请参阅 文档.
路线图
- 添加辅助函数命名空间