common-gateway/klanten-bundle

创建 symfony flex 插件的示例包

0.1.13 2024-01-22 10:15 UTC

README

创建 php symfony flex 插件的示例仓库

使用此包

使用 common-gateway 管理用户界面安装

@todo!

使用 PHP 命令安装

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

您可以通过以下命令安装此插件: composer require common-gateway/pet-store-bundle:dev-main 或 dockerized: docker-compose exec php composer require common-gateway/pet-store-bundle:dev-main 在您的 composer.json 所在目录中。

如果您还想将模式作为实体安装,可以使用以下命令安装: php bin/console commongateway:install common-gateway/pet-store-bundle 或 dockerized: docker-compose exec php bin/console commongateway:install common-gateway/pet-store-bundle

创建自己的包

要求

使用此模板

创建自己的 symfony 包。您可以复制此仓库以快速启动。

  1. GitHub 上登录
  2. 使用 此模板
  3. 命名您的包(驼峰式命名)
  4. 点击绿色按钮 从模板创建仓库
  5. 更新文件名和命名空间以适应您的需求
    • 打开 composer.json,并将其名称更改为适应您的需求。第一个词应该是命名空间,第二个是包名。检查自动加载字段是否已正确设置。注意:这是短横线命名法。也请参阅:命名您的包
    • 打开 PetStoreBundle.php 并更改包名和命名空间。命名空间应与 composer.json 中的包名相同,但为驼峰式命名。因此,common-gateway/pet-store-bundle 变为 CommonGateway/KlantenBundle
    • 相应地重命名 /Service 和 /ActionHandler(或如果未使用则删除)。
    • 将 /DependencyInjection/PetStoreExtension.php 重命名为 BundleNameExtension.php
    • 重命名 /Resources/config/services.yaml 命名空间
添加模式

如果您使用 common-gateway 与您的包一起使用,您可以添加自己的模式,它们将作为实体加载。这些实体将加载到数据库中,因此您可以处理自己的对象/数据。

这些模式是 json 模式

您可以通过 /Schema 添加现有模式或创建自己的模式并添加它们。还有一个示例为 /Schema/example.json。

确保您的模式具有 version 属性(必需)以便您可以更新您的模式!还要确保它们具有唯一的 $id,以便它们可以与其他模式关联。

所有必需属性

如果你的 schema 中没有所有必需的属性,网关将不会安装该 schema,并声明其为无效。

如果你已经添加了 schema,你也可以为它们添加对象/数据,在 /Data 中有一个你可以使用的示例。

上传到 packagist。

在我们能够使用我们的包和代码之前,我们必须将它在线上传到 packagist,这样我们才能使用 composer 进行安装。

  1. 上传到 packagist。
    • 前往 Packagist
    • 在顶部菜单栏中点击 提交 并粘贴你包的 GitHub 仓库链接,你 composer.json 中的名称将用作包名。
    • 如果有效,请点击 提交
  2. 自动更新包。
    • 前往你的 packagist 个人资料
    • 点击 显示 API 令牌 并复制。
    • 前往你的新包的 GitHub 仓库。
    • 前往你的仓库设置。
    • 前往 webhooks,并点击 添加 webhook
    • 作为有效负载 URL,设置 https://packagist.org.cn/api/github?username=yourPackagistUsername
    • 保持 SSL 验证启用。
    • 作为秘密,粘贴从 packagist 复制的 API 令牌。
    • 设置事件为 仅推送事件
    • 点击 添加 webhook
    • 如果你推送了新代码,它现在将推送到 packagis。在 packagist 上,你不应该再看到自动更新警告。如果它还在,请检查你的 GitHub webhook 上的用户名和秘密是否设置正确。

使用你的代码。

要在你的库中使用代码,我们首先必须使用 composer 安装它。

注意:对于 docker,在所有命令前添加 docker-compose exec php

  1. 使用命令行导航到你的 composer.json 位于你想要使用此包的项目中。
    • 执行 composer require {full package name}:dev-main
    • Docker 用户:重新启动你的容器,以便 symfony 可以识别新 Bundle 的命名空间。
  2. 打开你想要使用类的 PHP 文件。
    • 添加正确的 use 语句(例如 use CommonGateway\PetStoreBundle\Service\PetStoreService;
    • 现在,你可以使用你的类了!

在通用网关中,如果你想通过事件和动作来使用你的代码,请确保动作对象的类设置为处理程序名称,包括命名空间。例如,如果我想使用 PetStoreService,我可以将 PetStoreHandler 设置为 CommonGateway\PetStoreBundle\ActionHandler\PetStoreHandler