common-gateway / sim-xml-bundle
创建 symfony flex 插件包的示例包
Requires
- php: >=7.4
- commongateway/corebundle: dev-master
Requires (Dev)
- symfony/dependency-injection: ~3.4|~4.1|~5.0
This package is auto-updated.
Last update: 2024-09-21 13:46:49 UTC
README
创建 php symfony flex 插件包的示例仓库
使用此插件包
使用 common-gateway 管理用户界面安装
@todo!
使用 php 命令安装
要执行以下命令,您需要 Composer 或已安装 php 和 composer 的 docker 化安装。
您可以通过命令安装此插件: composer require common-gateway/sim-xml-bundle:dev-main
或 docker 化: docker-compose exec php composer require common-gateway/sim-xml-bundle:dev-main
在您的 composer.json 所在目录中。
如果您还想安装模式作为实体,您可以使用命令安装它们: php bin/console commongateway:install common-gateway/sim-xml-bundle
或 docker 化: docker-compose exec php bin/console commongateway:install common-gateway/sim-xml-bundle
创建您自己的插件包
要求
- GitHub 账户或组织
- Packagist 账户
- Composer 或如果您的项目是 docker 化的,Docker Desktop
使用此模板
要创建自己的 symfony 插件包。您可以复制此仓库以快速开始。
- 在 GitHub 上登录
- 使用 此模板
- 命名您的插件包(驼峰式命名法)
- 点击绿色按钮
从模板创建仓库
- 根据需要更新文件名和命名空间
- 打开 composer.json,并将其更改为适合您的名称。第一个单词应该是命名空间,第二个是您的插件包名称。检查自动加载字段是否已相应设置。注意:这是中划线命名法。也请参阅: 命名您的包
- 打开 SimXmlBundle.php 并更改 Bundle 名称和命名空间。命名空间应与 composer.json 中的包名称相同,但为驼峰式命名。因此 common-gateway/sim-xml-bundle 变为 CommonGateway/SimXMLBundle
- 相应地重命名 /Service 和 /ActionHandler(或如果未使用则删除)。
- 将 /DependencyInjection/SimXmlExtension.php 重命名为 BundleNameExtension.php
- 重命名 /Resources/config/services.yaml 命名空间
添加模式
如果您使用您的插件包与 common-gateway,您可以添加自己的模式,它们将被加载为实体。这些实体将加载到数据库中,以便您可以使用自己的对象/数据。
这些模式是 json 模式。
您可以添加现有模式或创建自己的模式并将它们添加到 /Schema 中。还有一个示例作为 /Schema/example.json。
请确保您的模式具有 version
属性(必需),以便您可以更新您的模式!还请确保它们具有唯一的 $id
,以便它们可以与其他模式相关联。
所有必需的属性包括
- 'version' 可以从 '0.1.0' 开始
- '$schema' (https://json-schema.fullstack.org.cn/draft/2020-12/schema)
- '$id' (https://opencatalogi.nl/example.schema.json)
- 'type' 必须是 'object'
- 'properties' 必须是模式属性
如果你的模式中没有包含所有必需的属性,网关将不会安装该模式,并会声称它是无效的。
如果你已添加模式,你还可以为它们添加对象/数据,/Data 中的示例是一个你可以使用的例子。
上传到 packagist
在我们能够使用我们的包和代码之前,我们必须将它在线发布到 packagist,这样我们就可以使用 composer 进行安装。
- 上传到 packagist
- 前往 Packagist
- 在上面的菜单栏中按下
提交
并粘贴你包的 GitHub 仓库链接,你 composer.json 中的名称将被用作包名。 - 如果有效,请按
提交
- 自动更新包
- 前往你的 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
- 使用命令行导航到你的 composer.json 所在的项目目录,你想要使用此包。
- 执行
composer require {完整包名}:dev-main
- Docker 用户:重启你的容器,以便 symfony 能够识别新的 Bundle 命名空间
- 执行
- 打开你想要使用类的 php 文件。
- 添加正确的 use 语句(例如
use CommonGateway\SimXmlBundle\Service\SimXmlService;
) - 你现在可以使用你的类了!
- 添加正确的 use 语句(例如
在通用网关中,如果你想使用你的代码在事件被触发时执行操作,确保操作对象的类设置为处理器名称,包括命名空间。例如,如果我想使用 SimXmlService,我可以将 SimXmlHandler 设置为 CommonGateway\SimXmlBundle\ActionHandler\SimXmlHandler
。