chubbyphp / petstore
chubbyphp-framework 的最小化骨架
dev-chubbyphp
2024-08-10 20:09 UTC
Requires
- php: ^8.1
- chubbyphp/chubbyphp-clean-directories: ^1.3.1
- chubbyphp/chubbyphp-cors: ^1.5
- chubbyphp/chubbyphp-decode-encode: ^1.1
- chubbyphp/chubbyphp-framework: ^5.1.1
- chubbyphp/chubbyphp-framework-router-fastroute: ^2.1
- chubbyphp/chubbyphp-http-exception: ^1.1
- chubbyphp/chubbyphp-laminas-config: ^1.4
- chubbyphp/chubbyphp-laminas-config-doctrine: ^2.1
- chubbyphp/chubbyphp-laminas-config-factory: ^1.3
- chubbyphp/chubbyphp-negotiation: ^2.1
- chubbyphp/chubbyphp-parsing: ^1.1.1
- doctrine/orm: ^2.17.2
- monolog/monolog: ^3.5
- ramsey/uuid: ^4.7.5
- slim/psr7: ^1.6.1
- symfony/console: ^6.4.2
Requires (Dev)
- chubbyphp/chubbyphp-dev-helper: dev-master
- chubbyphp/chubbyphp-mock: ^1.7
- infection/infection: ^0.27.9
- php-coveralls/php-coveralls: ^2.7
- phpstan/extension-installer: ^1.3.1
- phpstan/phpstan: ^1.10.50
- phpunit/phpunit: ^10.5.5
This package is auto-updated.
Last update: 2024-09-10 20:30:33 UTC
README
描述
一个简单的骨架,用于基于 chubbyphp-framework 构建 API。
需求
- php: ^8.1
- chubbyphp/chubbyphp-clean-directories: ^1.3.1
- chubbyphp/chubbyphp-cors: ^1.5
- chubbyphp/chubbyphp-decode-encode: ^1.1
- chubbyphp/chubbyphp-framework: ^5.1.1
- chubbyphp/chubbyphp-framework-router-fastroute: ^2.1
- chubbyphp/chubbyphp-http-exception: ^1.1
- chubbyphp/chubbyphp-laminas-config: ^1.4
- chubbyphp/chubbyphp-laminas-config-doctrine: ^2.2
- chubbyphp/chubbyphp-laminas-config-factory: ^1.3
- chubbyphp/chubbyphp-negotiation: ^2.0
- chubbyphp/chubbyphp-parsing: ^1.1.1
- doctrine/orm: ^2.17.2
- monolog/monolog: ^3.5
- ramsey/uuid: ^4.7.5
- slim/psr7: ^1.6.1
- symfony/console: ^6.4.2
环境
将以下环境变量添加到您的系统,例如在 ~/.bash_aliases
中
export USER_ID=$(id -u) export GROUP_ID=$(id -g)
Docker
docker-compose up -d
docker-compose exec php bash
设置
composer install composer setup:dev
URLs
Pet
- GET https://localhost/api/pets?sort[name]=asc
- POST https://localhost/api/pets
- GET https://localhost/api/pets/8ba9661b-ba7f-436b-bd25-c0606f911f7d
- PUT https://localhost/api/pets/8ba9661b-ba7f-436b-bd25-c0606f911f7d
- DELETE https://localhost/api/pets/8ba9661b-ba7f-436b-bd25-c0606f911f7d
DBs
- jdbc:postgresql://localhost:5432/petstore?user=root&password=root
结构
集合
集合是可以排序、过滤和分页的模型列表。
DTO
DTO(或数据传输对象)是一个简单的对象,用于在软件应用组件之间传输数据。
中间件
中间件函数可以执行代码,修改请求和响应对象。中间件通常可以全局添加或在每条路由上添加。
模型
模型、实体、文档,选择最适合您的用途。
ORM
ORM 映射定义。
解析
解析并验证数据与预定义的架构,确保传入数据符合预期的结构和标准。
仓库
仓库从数据库、elasticsearch、redis 或模型存储或缓存的任何地方获取数据。
请求处理器
请求处理器同义词控制器,或更准确地说,是控制器操作。有一个包含通用 CRUD 控制器的目录。如果您喜欢这个想法,请根据您的通用用例进行修改,如果不适用,请删除。我强烈建议不要扩展它们。
服务工厂
服务工厂是依赖注入容器的粘合代码。
版权
2024 Dominik Zogg