contributte/apitte-skeleton

🎁 基于 Nette 框架 (@nette),Apitte (@apitte),Doctrine (@nettrine) 和 Contributte (@contributte) 库的 API / REST API / JSON API / PSR-7 / 中间件项目骨架,由 @f3l1x 构建。


README

网站 🚀 contributte.org | 联系 👨🏻‍💻 f3l1x.io | Twitter 🐦 @contributte

目标

主要目标是提供为 Nette-Apitte 开发者最佳准备的 API 入门套件项目。

关注点

  • PHP 8.2+
  • nette/*
  • 通过 contributte/apitte 构建 PSR-7 API
  • 通过 nettrine/* 构建 Doctrine ORM
  • 通过 contributte/* 构建 Symfony 组件
  • 通过 CodeSniffercontributte/qa 检查编码风格
  • 通过 phpstancontributte/phpstan 进行静态分析
  • 通过 Nette Testercontributte/tester 进行单元/集成测试

您可以通过运行 Docker,或者更简单地使用 docker-compose 来尝试它。

演示

https://examples.contributte.org/apitte-skeleton/

使用 docker 安装

  1. 首先,使用 Composer 安装此项目。

    composer create-project -s dev contributte/apitte-skeleton
  2. 之后,您必须设置数据库。

    1. 设置 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

    2. 设置 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

  3. 自定义配置文件位于 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
  4. 好,数据库现在正在运行,应用程序已配置连接到它。让我们创建初始数据。

    运行 NETTE_DEBUG=1 bin/console migrations:migrate 创建表。运行 NETTE_DEBUG=1 bin/console doctrine:fixtures:load --append 创建第一个用户。

    或通过任务 make build

  5. 启动您的开发环境或使用 PHP 本地开发服务器。

    您可以通过运行 php -S localhost:8000 -t www 启动 PHP 服务器,或使用准备好的 make 任务 make dev

  6. 打开 http://localhost 并享受!

    查看

使用 docker compose 进行安装

  1. 首先,使用 Composer 安装此项目。

    composer create-project -s dev contributte/apitte-skeleton
    
  2. 修改 config/local.neon 并将主机设置为 postgresmariadb

    默认配置应如下所示。已预配置数据库。选择 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
  3. 运行 docker-compose up

  4. 打开 http://localhost 并享受!

    查看

(可选) REST API 文档

因为我们已经在 /api/public/v1/openapi/meta 提供了 OpenAPI 规范,你只需要为其添加 UI(例如,添加到 www/doc 目录或作为独立应用程序)。

可用的选项包括

功能

以下是您可以在本项目中找到的所有功能的列表。

  • 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 包

详细了解每个单独的包 👀。

Doctrine

Nette

Symfony

演示

开发

查看 如何为此包做出贡献

此包目前由以下作者维护。

请考虑 支持 contributte 开发团队。也感谢您使用此项目。