common-gateway / zgw-zds-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-22 15:31:22 UTC
README
创建 php symfony flex 插件的示例仓库
使用此包
使用 common-gateway 管理用户界面安装
@todo!
使用 php 命令安装
要执行以下命令,您需要 Composer 或已安装 php 和 composer 的 dockerized 安装。
您可以通过以下命令安装此插件: composer require common-gateway/zgw-zds-bundle:dev-main
或 dockerized: docker-compose exec php composer require common-gateway/zgw-zds-bundle:dev-main
在您的 composer.json 所在的目录中。
如果您还想将模式作为实体安装,可以使用以下命令安装它们: php bin/console commongateway:install common-gateway/zgw-zds-bundle
或 dockerized: docker-compose exec php bin/console commongateway:install common-gateway/zgw-zds-bundle
创建您自己的包
需求
- GitHub 账户或组织
- Packagist 账户
- Composer 或如果您项目已 dockerized,则 Docker Desktop
使用此模板
创建您自己的 symfony 包。您可以复制此仓库以快速启动。
- 在 GitHub 上登录
- 使用 此模板
- 命名您的包(驼峰式命名法)
- 按下绿色按钮
从模板创建仓库
- 更新文件名和命名空间以适应您的需求
- 打开 composer.json,并更改名称以适应您的需求。第一个单词应该是命名空间,第二个是您的包名。检查自动加载字段是否已相应设置。注意:这是破折号命名法。也请阅读: 命名您的包
- 打开 ZgwZdsBundle.php 并更改包名和命名空间。命名空间应与 composer.json 中的包名相同,但采用驼峰式命名法。因此,common-gateway/zgw-zds-bundle 变为 CommonGateway/ZGWZdsBundle
- 相应地重命名 /Service 和 /ActionHandler(或删除未使用的内容)。
- 将 /DependencyInjection/ZgwZdsExtension.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
- 将 Payload 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 {full package name}:dev-main
- Docker 用户:重新启动容器,以便 symfony 可以识别新的 Bundle 命名空间
- 执行
- 打开您想要使用类的 php 文件。
- 添加正确的 use 语句(例如
use CommonGateway\ZgwZdsBundle\Service\ZgwZdsService;
) - 现在您可以使用您的类了!
- 添加正确的 use 语句(例如
在通用网关中,如果您想要在触发事件时使用您的代码,并带有操作,请确保操作对象的类设置为处理器名称,包括命名空间。例如,如果我想使用 ZgwZdsService,我可以将 ZgwZdsHandler 设置为 CommonGateway\ZgwZdsBundle\ActionHandler\ZgwZdsHandler
。