contributte / apitte-skeleton
🎁 基于 Nette 框架 (@nette),Apitte (@apitte),Doctrine (@nettrine) 和 Contributte (@contributte) 库的 API / REST API / JSON API / PSR-7 / 中间件项目骨架,由 @f3l1x 构建。
Requires
- php: >=8.2
- contributte/apitte: ^0.12.0
- contributte/bootstrap: ^0.6.0
- contributte/console: ^0.10.0
- contributte/di: ^0.5.6
- contributte/http: ^0.4.0
- contributte/monolog: ^0.5.0
- contributte/neonizer: ^0.6.0
- contributte/security: ^0.4.0
- contributte/tracy: ^0.6.0
- contributte/utils: ^0.6.0
- nettrine/annotations: ^0.7.0
- nettrine/cache: ^0.3.0
- nettrine/dbal: ^0.8.0
- nettrine/fixtures: ^0.7.2
- nettrine/migrations: ^0.9.1
- nettrine/orm: ^0.8.0
- symfony/cache: ^7.0.0
- symfony/property-info: ^7.0.6
- symfony/serializer: ^7.0.3
- symfony/validator: ^7.0.2
Requires (Dev)
- contributte/dev: ^0.4
- contributte/phpstan: ^0.1
- contributte/qa: ^0.4
- contributte/tester: ^0.3
- mockery/mockery: ^1.5.1
- nelmio/alice: ^3.13.0
- phpstan/phpstan-doctrine: ^1.3.40
This package is auto-updated.
Last update: 2024-09-02 01:26:30 UTC
README
网站 🚀 contributte.org | 联系 👨🏻💻 f3l1x.io | Twitter 🐦 @contributte
目标
主要目标是提供为 Nette-Apitte 开发者最佳准备的 API 入门套件项目。
关注点
- PHP 8.2+
nette/*
包- 通过
contributte/apitte
构建 PSR-7 API - 通过
nettrine/*
构建 Doctrine ORM - 通过
contributte/*
构建 Symfony 组件 - 通过 CodeSniffer 和
contributte/qa
检查编码风格 - 通过 phpstan 和
contributte/phpstan
进行静态分析 - 通过 Nette Tester 和
contributte/tester
进行单元/集成测试
您可以通过运行 Docker,或者更简单地使用 docker-compose 来尝试它。
演示
https://examples.contributte.org/apitte-skeleton/
使用 docker 安装
-
首先,使用 Composer 安装此项目。
composer create-project -s dev contributte/apitte-skeleton
-
之后,您必须设置数据库。
-
设置 PostgreSQL 10。您可以手动启动或使用 docker 镜像
dockette/postgres:15
。docker run -it -p 5432:5432 -e POSTGRES_PASSWORD=contributte -e POSTGRES_USER=contributte dockette/postgres:15
或使用 make 任务,
make docker-postgres
。 -
设置 MariaDB 10.4。您可以手动启动或使用 docker 镜像
mariadb:10.4
。docker run -it -d -p 3306:3306 -e MARIADB_ROOT_PASSWORD=contributte -e MARIADB_PASSWORD=contributte -e MARIADB_USER=contributte -e MARIADB_DATABASE=contributte mariadb:10.4
或使用 make 任务,
make docker-mariadb
。
-
-
自定义配置文件位于
config/local.neon
。如果需要,请编辑它。默认配置应如下所示。选择 PostgreSQL 或 MariaDB。
# Host Config parameters: # Database database: # Postgres driver: pdo_pgsql host: database dbname: contributte user: contributte password: contributte port: 5432 # MariaDB driver: pdo_mysql host: database dbname: contributte user: contributte password: contributte port: 3306
-
好,数据库现在正在运行,应用程序已配置连接到它。让我们创建初始数据。
运行
NETTE_DEBUG=1 bin/console migrations:migrate
创建表。运行NETTE_DEBUG=1 bin/console doctrine:fixtures:load --append
创建第一个用户。或通过任务
make build
。 -
启动您的开发环境或使用 PHP 本地开发服务器。
您可以通过运行
php -S localhost:8000 -t www
启动 PHP 服务器,或使用准备好的 make 任务make dev
。 -
打开 http://localhost 并享受!
查看
- [GET] http://localhost:8000/api/public/v1/openapi/meta (Swagger 格式)
- [GET] http://localhost:8000/api/v1/users
- [GET] http://localhost:8000/api/v1/users?_access_token=admin
- [GET] http://localhost:8000/api/v1/users/1?_access_token=admin
- [GET] http://localhost:8000/api/v1/users/999?_access_token=admin
- [GET] http://localhost:8000/api/v1/users/email?email=admin@admin.cz&_access_token=admin
- [GET] http://localhost:8000/api/v1/static/text
- [POST] http://localhost:8000/api/v1/users/create
使用 docker compose 进行安装
-
首先,使用 Composer 安装此项目。
composer create-project -s dev contributte/apitte-skeleton
-
修改
config/local.neon
并将主机设置为postgres
或mariadb
默认配置应如下所示。已预配置数据库。选择 PostgreSQL 或 MariaDB。
# Host Config parameters: # Database database: # Postgres driver: pdo_pgsql host: database dbname: contributte user: contributte password: contributte port: 5432 # MariaDB driver: pdo_mysql host: database dbname: contributte user: contributte password: contributte port: 3306
-
运行
docker-compose up
-
打开 http://localhost 并享受!
查看
- [GET] http://localhost:8000/api/public/v1/openapi/meta (Swagger 格式)
- [GET] http://localhost:8000/api/v1/users
- [GET] http://localhost:8000/api/v1/users?_access_token=admin
- [GET] http://localhost:8000/api/v1/users/1?_access_token=admin
- [GET] http://localhost:8000/api/v1/users/999?_access_token=admin
- [GET] http://localhost:8000/api/v1/users/email?email=admin@admin.cz&_access_token=admin
- [POST] http://localhost:8000/api/v1/users/create
- [GET] http://localhost:8000/api/v1/static/text?_access_token=admin
- [GET] http://localhost:8000/api/v1/error/exception?_access_token=admin
(可选) REST API 文档
因为我们已经在 /api/public/v1/openapi/meta
提供了 OpenAPI 规范,你只需要为其添加 UI(例如,添加到 www/doc
目录或作为独立应用程序)。
可用的选项包括
- Swagger UI + 主题
- ReDoc
- 其他
功能
以下是您可以在本项目中找到的所有功能的列表。
- PHP 8.2+
- 📦 包
- Nette 3+
- Contributte
- 🌳 结构
app
config
- 配置文件env
- 生产/开发/测试环境app
- 应用配置ext
- 扩展配置local.neon
- 本地运行时配置local.neon.dist
- 本地配置模板
domain
- 业务逻辑和领域特定类model
- 应用骨架module
- API 模块resources
- 邮件和其他内容的静态内容bootstrap.php
- Nette 入口点
bin
- 控制台入口 (bin/console
)db
- 数据库文件fixtures
- PHP 固定值migrations
- 迁移文件
docs
- 文档vae
log
- 运行时和错误日志tmp
- 临时文件和缓存
tests
- 测试引擎和许多用例tests/cases/E2E
- PhpStorm 的请求文件 (api.http
)tests/cases/Integration
tests/cases/Unit
vendor
- composer 的文件夹www
- 公共内容
- ❗ Tracy
- 酷的错误 500 页面
Composer 包
详细了解每个单独的包 👀。
- contributte/bootstrap
- contributte/di
- contributte/http
- contributte/security
- contributte/utils
- contributte/tracy
- contributte/console
- contributte/neonizer
- contributte/monolog
- contributte/apitte
Doctrine
- contributte/doctrine-orm
- contributte/doctrine-dbal
- contributte/doctrine-migrations
- contributte/doctrine-fixtures
Nette
Symfony
演示
开发
查看 如何为此包做出贡献。
此包目前由以下作者维护。
请考虑 支持 contributte 开发团队。也感谢您使用此项目。