common-gateway / brp-bundle
创建 symfony flex 插件包的示例包
Requires
- php: >=7.4
- commongateway/corebundle: ^1.2.61 | <2.0
Requires (Dev)
- symfony/dependency-injection: ~3.4|~4.1|~5.0
README
创建 php symfony flex 插件包的示例仓库
使用此插件包
使用 common-gateway 管理用户界面安装
@todo!
使用 php 命令安装
要执行以下命令,您需要 Composer 或已经包含 php 和 composer 的 docker 安装。
您可以通过以下命令安装此插件: composer require common-gateway/open-catalogi-bundle:dev-main
或 dockerized: docker-compose exec php composer require common-gateway/open-catalogi-bundle:dev-main
在您的 composer.json 所在目录中。
如果您还想安装模式作为实体,可以使用以下命令安装: php bin/console commongateway:install [common-gateway/open-catalogi-bundle]
或 dockerized: docker-compose exec php bin/console commongateway:install [common-gateway/open-catalogi-bundle]
创建您自己的插件包
要求
- GitHub 账户或组织
- Packagist 账户
- Composer 或如果您项目已 dockerized, Docker Desktop
使用此模板
创建您自己的 symfony 插件包。您可以复制此仓库以快速开始。
- 在 GitHub 上登录
- 使用 此模板
- 命名您的插件包(驼峰式命名)
- 点击绿色按钮
从模板创建仓库
- 更新文件名和命名空间以适应您的需要
- 打开 composer.json,并将其名称更改为适应您的需求。第一个单词应该是命名空间,第二个是您的插件包名称。检查自动加载字段是否正确设置。注意:这是短横线命名法。也请参阅:命名您的包
- 打开 BRPBundle.php 并更改 Bundle 名称和命名空间。命名空间应与 composer.json 中您的包名称相同,但应为驼峰式命名。因此,common-gateway/pet-store-bundle 变为 CommonGateway/BRPBundle
- 相应地重命名 /Service 和 /ActionHandler(或如果未使用则删除)。
- 将 /DependencyInjection/BRPBundleExtension.php 重命名为 BundleNameExtension.php
- 重命名 /Resources/config/services.yaml 命名空间
添加模式
如果您使用 common-gateway 使用您的插件包,您可以添加自己的模式,这些模式将作为实体加载。这些实体将加载到数据库中,以便您可以处理您自己的对象/数据。
这些模式是 json 模式。
您可以添加现有的模式或创建自己的模式并将其添加到 /Schema 中。/Schema/example.json 中也有一个示例。
请确保您的模式有 version
属性,以便您可以更新您的模式!
请确保它们有一个唯一的 $id
,以便它们可以与其他模式相关联。
如果您已添加模式,您还可以在 /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 webhook上的用户名和秘密是否设置正确。
使用你的代码
要使用代码在你的库中,我们首先必须使用Composer安装它。
注意:对于Docker,在所有命令之前添加docker-compose exec php
- 使用命令行导航到你的composer.json所在的位置,这是你想要使用此bundle的项目。
- 执行
composer require {full package name}:dev-main
- Docker用户:重启你的容器,以便symfony可以识别新的Bundle命名空间
- 执行
- 打开你想要使用类的php文件。
- 添加正确的use语句(例如
use CommonGateway\BRPBundle\Service\BRPBundleService;
) - 你现在可以使用你的类了!
- 添加正确的use语句(例如
在通用网关中,如果你想在一个动作触发时使用你的代码,确保动作对象的类被设置为处理器的名称,包括命名空间。例如,如果我想使用BRPBundleService,我可以设置BRPBundleHandler为CommonGateway\BRPBundle\ActionHandler\BRPBundleHandler
。