sunrise / awesome-skeleton
适用于 PHP 7.4+(包括 PHP 8)的现代开发中的 Awesome Skeleton
v3.0.0
2021-02-07 15:42 UTC
Requires
- php: ^7.4|^8.0
- arus/doctrine-bridge: ^1.18
- arus/http-response-kit: ^1.4
- arus/monolog-telegram-handler: ^2.1
- doctrine/migrations: ^2.2
- doctrine/orm: ^2.8
- justinrainbow/json-schema: ^5.2
- middlewares/payload: ^3.0
- middlewares/response-time: ^2.0
- monolog/monolog: ^2.2
- php-di/php-di: ^6.3
- spiral/roadrunner: ^1.9
- sunrise/http-factory: ^1.1
- sunrise/http-header-kit: ^1.1
- sunrise/http-router: ^2.6
- sunrise/http-router-openapi: ^1.9
- symfony/cache: ^5.0
- symfony/console: ^5.0
- symfony/dotenv: ^5.0
- symfony/validator: ^5.0
Requires (Dev)
- phpbench/phpbench: ^1.0.0-alpha4
- phpunit/phpunit: ^9.5
- sunrise/coding-standard: 1.0.0
This package is auto-updated.
Last update: 2024-09-07 23:46:42 UTC
README
包含经过质量测试的包、精心设计的结构以及开发微服务所需的一切。
安装
composer create-project 'sunrise/awesome-skeleton:^3.0' app
烹饪
设置数据库连接
cp .env.example .env && nano .env
执行迁移
php bin/app migrations:migrate --service 'master' --no-interaction
运行 CLI
包括:Doctrine DBAL、Doctrine ORM、Doctrine Migrations。
php bin/app
通过 PHP 运行
监听 0.0.0.0:3000
composer serve
通过 RoadRunner 运行
监听 0.0.0.0:3000
设置服务器
cp .rr.yml.example .rr.yml && nano .rr.yml
运行服务器
rr -dv serve
通过 Swoole 运行
即将推出...
运行测试
composer test
运行基准测试
composer bench
通过 cURL 运行路由
可能需要更改服务器地址...
首页(index)
curl -X 'GET' 'http://127.0.0.1:3000/'
OpenAPI 文档
curl -X 'GET' 'http://127.0.0.1:3000/openapi'
创建条目(示例包)
curl -X 'POST' -H 'Content-Type: application/json' -d '{"name": "foo", "slug": "foo"}' 'http://127.0.0.1:3000/api/v1/entry'
更新现有条目(示例包)
您需要设置现有的 ID。
curl -X 'PATCH' -H 'Content-Type: application/json' -d '{"name": "foo", "slug": "foo"}' 'http://127.0.0.1:3000/api/v1/entry/b06fd41d-d131-4bb9-a472-eb583369437c'
删除现有条目(示例包)
您需要设置现有的 ID。
curl -X 'DELETE' 'http://127.0.0.1:3000/api/v1/entry/b06fd41d-d131-4bb9-a472-eb583369437c'
读取现有条目(示例包)
您需要设置现有的 ID。
curl -X 'GET' 'http://127.0.0.1:3000/api/v1/entry/b06fd41d-d131-4bb9-a472-eb583369437c'
条目列表(示例包)
curl -X 'GET' 'http://127.0.0.1:3000/api/v1/entry'
有用命令
部署
bash bin/deploy
下线
bash bin/down 'Reason...'
上线
bash bin/up
为 RoadRunner 生成 Systemd 单元
php bin/app app:roadrunner:generate-systemd-unit > app.service
生成 OpenApi 文档
php bin/app app:openapi:generate-document > openapi.json
使用的堆栈
查看 composer.json
- https://github.com/PHP-DI/PHP-DI
- https://github.com/Seldaek/monolog
- https://github.com/sunrise-php/http-router
- https://github.com/doctrine/orm
- https://github.com/doctrine/migrations
- https://github.com/symfony/console
- https://github.com/symfony/validator
- https://github.com/justinrainbow/json-schema
使用的技术
RoadRunner
OpenApi (Swagger) 规范
- https://swagger.org.cn/docs/specification/about/
- https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md
Json Schema 规范
可能对您有用
适用于您应用程序的出色中间件
献给您 ❤️