common-gateway/zgw-to-zds-bundle

创建 symfony flex 插件包的示例

安装: 59

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 0

类型:symfony-bundle

0.0.12 2024-02-16 13:24 UTC

README

此仓库用于创建 PHP Symfony flex 插件包。通用网关生态系统使用此模板进行快速开发,以扩展 Core 之外的网关功能。

第一部分是关于安装插件。后一部分是关于自定义插件以扩展通用网关功能。

使用通用网关管理员用户界面安装

一旦正确设置了一个包(如本仓库),通用网关可以自动发现该包,而无需额外配置。前往“插件”选项卡以搜索、选择和安装插件。

使用 PHP 命令安装

要执行以下命令,您需要 Composer 或已安装 PHP 和 Composer 的 Dockerized 安装。

终端和根目录中的 Composer 方法

用于安装插件

$composer require common-gateway/pet-store-bundle:dev-main

用于安装模式

`$php bin/console commongateway:install common-gateway/pet-store-bundle

终端和根目录中的 Dockerized 方法

用于安装插件

$docker-compose exec php composer require common-gateway/pet-store-bundle:dev-main

用于安装模式

$docker-compose exec php bin/console commongateway:install common-gateway/pet-store-bundle

创建您的插件包

本节是为想要在不添加核心代码库的情况下构建插件以扩展通用网关功能而不需要添加核心代码库的开发者准备的。

以下知识是假定和/或安装的

Composer Packagist Docker Schema.json 基本的 通用网关 知识

使用此模板

此模板用于快速开发 symfony 插件包,并作为基于您的自定义插件构建的模型。按照以下步骤,在 45 分钟或更短的时间内创建您的插件

  1. GitHub 上登录

  2. 使用 此模板

  3. 命名您的插件包(驼峰式)。插件包需要以 Bundle 结尾,遵循 Symfony 命名约定

  4. 点击绿色按钮 从模板创建仓库

  5. 更新文件名和命名空间以适应您的需求

    • 打开 composer.json,并将其更改为您的名称。第一个单词应该是命名空间,第二个是包名。

    注意:这是短横线命名法。另外阅读:命名您的包

    • 检查自动加载字段是否已相应设置。
    • 打开 PetStoreBundle.php 并更改 Bundle namenamespace。命名空间应与 composer.json 中的包名相同,但为驼峰式。因此,common-gateway/pet-store-bundle 变为 CommonGateway/ZGW-to-ZDSBundle
    • 相应地重命名 /Service/ActionHandler(如果未使用则删除)。
    • /DependencyInjection/PetStoreExtension.php 重命名为您的 BundleNameExtension.php
    • 重命名 /Resources/config/services.yaml 命名空间

添加模式

您可以从您的/Schema文件夹中加载json模式作为实体,并在Common Gateway中使用它们,以根据您的模式处理对象。

您可以将现有的模式添加到/Schema文件夹,或者创建自己的模式并将其添加到文件夹中。这里提供了一个示例,位于/Schema/example.json

以下属性是必需的,没有它们,网关将无法识别模式为有效

- `version` can start on '0.1.0.' 

没有这个属性,您无法更新方案

- `$schema` (https://docs.commongateway.nl/schemas/Entity.schema.json)
- `$id` (https://example.com/schema/{Your scheme name}.schema.json)

唯一的$id属性,以便与其他模式相关联。

- `type` must be 'object'
- `properties` must be schema properties

一旦您将模式添加到存储库中,您还可以为这些模式添加对象/数据。示例在/Data文件夹中。