common-gateway / zgw-stuff-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:38:25 UTC
README
创建 php symfony flex 捆绑包的示例仓库
使用此捆绑包
使用 common-gateway 管理用户界面安装
@todo!
使用 php 命令安装
要执行以下命令,您需要 Composer 或已安装 php 和 composer 的 dockerized 安装。
您可以通过以下命令安装此插件: composer require common-gateway/zgw-stuff-bundle:dev-main
或 dockerized: docker-compose exec php composer require common-gateway/zgw-stuff-bundle:dev-main
在您的 composer.json 所在目录。
如果您还想要将模式作为实体安装,可以使用以下命令安装: php bin/console commongateway:install common-gateway/zgw-stuff-bundle
或 dockerized: docker-compose exec php bin/console commongateway:install common-gateway/zgw-stuff-bundle
创建自己的捆绑包
要求
- GitHub 账户或组织
- Packagist 账户
- Composer 或如果您项目已经 dockerized, Docker Desktop
使用此模板
创建自己的 symfony 捆绑包。您可以复制此仓库以快速开始。
- 在 GitHub 上登录
- 使用 此模板
- 命名您的捆绑包(驼峰式命名)
- 点击绿色按钮
从模板创建仓库
- 更新文件名和命名空间以符合您的需求
- 打开 composer.json,并将其更改为您的合适名称。第一个词应该是命名空间,第二个是您的捆绑包名称。检查自动加载字段是否已相应设置。注意:这是中划线命名法。另外阅读: 命名您的包
- 打开 ZgwStuffBundle.php 并更改捆绑包名称和命名空间。命名空间应与 composer.json 中的包名称相同,但为驼峰式命名。因此 common-gateway/zgw-stuff-bundle 变为 CommonGateway/ZGWStuffBundle
- 相应地重命名 /Service 和 /ActionHandler(如果未使用,则删除)。
- 将 /DependencyInjection/ZgwStuffExtension.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
- 在顶部菜单栏中按下
提交
并粘贴你的bundle的github仓库链接,你composer.json中的名称将被用作包名。 - 如果有效,请按
提交
- 自动更新包
- 前往你的 packagist个人资料。
- 按下
显示API令牌
并复制 - 前往你的新bundle的github仓库
- 前往你的仓库设置
- 前往webhooks,并按下
添加webhooks
- 将Payload URL设置为 https://packagist.org.cn/api/github?username=yourPackagistUsername
- 保持SSL验证启用
- 作为秘密,粘贴从packagist复制的API令牌
- 将事件设置为
仅推送事件
- 按下
添加webhooks
- 如果你推送了新的代码,它现在将推送到packagist。在packagist上你不应该再看到自动更新警告。如果它还在,请检查你的用户名和秘密是否已在github webhooks上正确设置。
使用你的代码
为了在你的库中使用此代码,我们首先必须使用composer安装它。
注意:对于docker,在所有命令前添加 docker-compose exec php
- 使用命令行导航到你想使用此bundle的项目中composer.json所在的目录。
- 执行
composer require {full package name}:dev-main
- Docker用户:重启你的容器,以便symfony可以识别新的Bundle命名空间
- 执行
- 打开你想要使用类的php文件。
- 添加正确的use语句(例如
use CommonGateway\ZgwStuffBundle\Service\ZgwStuffService;
) - 现在你可以使用你的类了!
- 添加正确的use语句(例如
在通用网关中,如果你想要在由具有操作的事件触发的代码中,确保操作对象的类设置为处理程序名称,包括命名空间。例如,如果我想使用ZgwStuffService,我可以将ZgwStuffHandler设置为 CommonGateway\ZgwStuffBundle\ActionHandler\ZgwStuffHandler
。