common-gateway/first-test-bundle

创建 symfony flex 插件的示例包

安装: 3

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

dev-main 2022-11-10 13:46 UTC

This package is auto-updated.

Last update: 2024-09-10 17:42:46 UTC


README

创建 php symfony flex 插件的示例仓库

hoi

使用此插件

您可以通过在 composer.json 所在目录中运行命令 composer require common-gateway/pet-store-plugin:dev-main 来安装此插件。

创建自己的包

要求

使用此模板

要创建自己的 symfony 包,您可以复制此仓库以快速启动。

  1. GitHub 上登录
  2. 使用 此模板
  3. 命名您的包(驼峰式命名法)
  4. 点击绿色按钮 从模板创建仓库
  5. 更新文件名和命名空间以适合您
    • 打开 composer.json,并将其名称更改为适合您的名称。第一个单词应该是命名空间,第二个是包的名称。检查自动加载字段是否已相应设置。注意:这是破折号命名法。另外请参阅:命名您的包
    • 打开 FirstTestBundle.php 并更改包名称和命名空间。命名空间应与 composer.json 中的包名称相同,但应为驼峰式命名法。因此,common-gateway/pet-store-bundle 变为 NovaEBA/firsttestbundle
    • 相应地重命名 /Service 和 /ActionHandler(如果不使用则删除)。
    • 将 /DependencyInjection/FirstBundleExtension.php 重命名为您的 BundleNameExtension.php
    • 将 /Resources/config/services.xml 中的服务和处理程序重命名为您的新命名空间和 BundleName

上传到 Packagist

在我们可以使用我们的包和代码之前,我们必须将其在线发布到 Packagist,以便我们可以使用 composer 安装它。

  1. 上传到 Packagist
    • 转到 Packagist
    • 在顶部菜单栏中点击 提交 并粘贴您的 GitHub 仓库链接,您 composer.json 中的名称将用作包名。
    • 如果有效,请点击 提交
  2. 自动更新包
    • 转到您的 Packagist 个人资料
    • 点击 显示 API 令牌 并复制
    • 转到您的 GitHub 仓库
    • 转到您的仓库设置
    • 转到钩子,并点击 添加钩子
    • 将 Payload URL 设置为 https://packagist.org.cn/api/github?username=yourPackagistUsername
    • 保持 SSL 验证启用
    • 将秘密粘贴为从 Packagist 复制的复制的 API 令牌
    • 将事件设置为 仅推送事件
    • 点击 添加钩子
    • 如果推送新代码,它现在将推送到 Packagist。在 Packagist 上,您不应再看到自动更新警告。如果它仍在那里,请检查您的用户名和秘密是否已在 GitHub 钩子上正确设置。

使用您的代码

要在您的库中使用此代码,我们首先需要使用composer安装它。

注意:对于Docker,在所有命令之前添加docker-compose exec php

  1. 使用命令行导航到您想要使用此包的项目中的composer.json所在的目录。
    • 执行composer require {完整包名}:dev-main
    • Docker用户:重启容器,以便symfony能够识别新Bundle的命名空间
  2. 打开您想要使用类的PHP文件。
    • 添加正确的use语句(例如use CommonGateway\FirstTestBundle\Service\FirstBundleService;
    • 现在您可以使用您的类了!

在通用网关中,如果您想要在事件被触发且动作时使用您的代码,请确保动作对象的类设置为处理器名称,包括命名空间。例如,如果我想使用FirstBundleService,我可以将FirstBundleHandler设置为CommonGateway\FirstTestBundle\ActionHandler\FirstBundleHandler