引力子/引力子

引力子的基本包

安装次数: 10,172

依赖项: 1

建议者: 0

安全性: 0

星标: 14

关注者: 18

分支: 10

开放问题: 0

类型:项目

v8.2.0 2024-09-06 11:49 UTC

This package is auto-updated.

Last update: 2024-09-06 11:50:12 UTC


README

CI Coverage Status Packagist Version Packagist Downloads Packagist License

Graviton 是一个基于 Symfony 和 Doctrine Mongo ODM 的 REST 服务器生成工具包。因此,它将所有数据存储在 MongoDB 中。

您可以使用简单的 JSON 格式定义您的 REST 服务,运行生成器 - 然后 - 您的 REST API 就准备好了。

假设您定义了这个文件

{
  "id": "Example",
  "service": {
    "readOnly": false,
    "routerBase": "/example/endpoint/"
  },
  "target": {
    "fields": [
      {
        "name": "id",
        "type": "string"
      },
      {
        "name": "data",
        "type": "string"
      }
    ]
  }
}

然后您运行生成器

php bin/console graviton:generate:dynamicbundles

一旦运行,您将在 /example/endpoint 处获得一个完整的 RESTful 端点,支持 GET、POST、PUT、DELETE 和 PATCH,以及一个有效的生成 JSON 模式端点、分页头(如 GitHub 所做的那样)等。

生成的代码是静态的 PHP 文件和序列化器以及 Symfony 的配置,被认为是 可丢弃的。您始终可以重新生成它 - 不要修改生成的代码。

应用程序针对运行时性能进行了高度优化,特别是在激活了 opcache 的 PHP-FPM 的上下文中。

它拥有许多附加功能(如特殊验证器、许多标志和配置等),目前大多数功能未文档化,因为这个项目并非为了公共使用而构建。但是,如果外部用户有兴趣并支持,我们欢迎提问和贡献。

安装

composer install

使用方法

./dev-cleanstart.sh

php bin/console

文档

有一些关于整体交互代码库的一般文档。

还有一些更广泛的文档在单独的存储库中。

捆绑说明文件,展示了如何与各种子系统交互。

不要忘记,所有重要的 变更日志

跟踪

此组件附带跟踪捆绑包,但默认情况下是禁用的。要启用它,必须设置以下环境变量

TRACING_ENABLED=true

这启用了捆绑包。然后您需要设置 jaeger-bundle 特定的环境变量

AUXMONEY_OPENTRACING_AGENT_HOST=zipkin-hostname # hostname to jaeger
AUXMONEY_OPENTRACING_AGENT_PORT=6831 # port to jaeger
AUXMONEY_OPENTRACING_SAMPLER_VALUE=true # const sampler value (sends always if true or never if false)

有关这两个捆绑包的更多信息,请参阅 此页面此页面