common-gateway / bag-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-07 19:16:29 UTC
README
创建 php symfony flex 插件包的示例仓库
使用此包
使用 common-gateway 管理用户界面进行安装
@todo!
使用 php 命令进行安装
要执行以下命令,您需要 Composer 或一个已经安装了 php 和 composer 的 dockerized 安装。
您可以通过以下命令安装此插件:在您的 composer.json 所在目录中执行 composer require common-gateway/bag-bundle:dev-main
或 dockerized: docker-compose exec php composer require common-gateway/bag-bundle:dev-main
如果您还想将模式作为实体安装,可以使用以下命令安装: php bin/console commongateway:install common-gateway/bag-bundle
或 dockerized: docker-compose exec php bin/console commongateway:install common-gateway/bag-bundle
创建自己的包
要求
- GitHub 账户或组织
- Packagist 账户
- Composer 或如果您项目是 dockerized,Docker Desktop
使用此模板
要创建自己的 symfony 包。您可以通过复制此仓库来快速开始。
- 在 GitHub 上登录
- 使用 此模板
- 命名您的包(驼峰命名法)
- 点击绿色按钮
从模板创建仓库
- 根据需要更新文件名和命名空间
- 打开 composer.json,并将其更改为适合您的名称。第一个单词应该是命名空间,第二个是您的包名。检查自动加载字段是否已正确设置。注意:这是中划线命名法。也请参阅:命名您的包
- 打开 BAGBundle.php 并更改包名和命名空间。命名空间应与 composer.json 中的包名相同,但为驼峰命名法。因此 common-gateway/bag-bundle 变为 CommonGateway/BAGBundle
- 相应地重命名 /Service 和 /ActionHandler(或如果未使用则删除)。
- 将 /DependencyInjection/BAGExtension.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\BAGBundle\Service\BAGBundleService;
) - 现在您可以使用您的类了!
- 添加正确的use语句(例如
在通用网关中,如果您想使用在由动作触发的动作时使用您的代码,请确保动作对象的类被设置为处理器名称,包括命名空间。例如,如果我想使用BAGBundleService,我可以设置BAGBundleHandler为CommonGateway\BAGBundle\ActionHandler\BAGBundleHandler
。