common-gateway/zds-to-zgw-bundle

创建 symfony flex 插件包的示例

安装: 69

依赖项: 2

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 0

开放问题: 1

类型:symfony-bundle

0.1.4 2024-05-14 06:53 UTC

README

此仓库用于创建 PHP Symfony flex 插件包。Common Gateway 生态系统使用此模板进行快速开发,以扩展核心以外的功能。

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

使用 Common Gateway 管理用户界面进行安装

一旦正确设置了插件包(如本仓库),Common Gateway 可以在不进行额外配置的情况下发现该插件包。转到“插件”选项卡以搜索、选择和安装插件。

使用 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

创建您的插件包

本部分是为想要在不增加核心代码库的情况下构建插件以扩展 Common Gateway 功能的开发者准备的。

以下知识假设/安装

Composer Packagist Docker Schema.json 基本了解 Common Gateway

使用此模板

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

  1. GitHub 上登录

  2. 使用 此模板

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

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

  5. 更新文件名和命名空间以适合您的情况

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

    注意:这是短横线命名法。也请参阅:命名您的包

    • 检查 autoload 字段以正确设置。
    • 打开 PetStoreBundle.php 并将 Bundle namenamespace 更改为适合您的。命名空间应与 composer.json 中的包名称相同,但为驼峰命名法。因此,common-gateway/pet-store-bundle 变为 CommonGateway/ZdsToZGWBundle
    • 相应地重命名 /Service/ActionHandler(或如果未使用则删除)。
    • /DependencyInjection/PetStoreExtension.php 重命名为 BundleNameExtension.php
    • 重命名 /Resources/config/services.yaml 命名空间

添加模式

您可以将 JSON 模式 作为实体从您的 /Schema 文件夹加载到通用网关中,并使用这些模式来处理基于您自己的模式的对象。

您可以添加现有的模式或创建您自己的模式并将它们添加到 /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 文件夹。