britt11654/my-first-bundle

创建 symfony flex 插件捆绑包的示例包

安装: 0

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放性问题: 0

类型:symfony-bundle

dev-main 2022-11-16 10:59 UTC

This package is auto-updated.

Last update: 2024-09-16 15:07:53 UTC


README

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

使用此捆绑包

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

创建您自己的捆绑包

要求

使用此模板

要创建自己的 symfony 捆绑包。您可以复制此仓库以快速开始。

  1. GitHub 上登录
  2. 使用 此模板
  3. 命名您的捆绑包(驼峰式命名)
  4. 点击绿色按钮 从模板创建仓库
  5. 更新文件名和命名空间以适合您的需求
    • 打开 composer.json,并更改名称以适合您的需求。第一个词应该是命名空间,第二个词是您的捆绑包名称。检查自动加载字段是否已相应设置。注意:这是中划线命名法。另外请参阅:命名您的包
    • 打开 MyFirstBundle.php 并更改捆绑包名称和命名空间。命名空间应与 composer.json 中的包名称相同,但应为驼峰式。因此 common-gateway/pet-store-bundle 变为 britt11654/MyFirstBundle
    • 相应地重命名 /Service 和 /ActionHandler(如果未使用,则删除)。
    • 将 /DependencyInjection/MyFirstExtension.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\MyFirstBundle\Service\MyFirstService;
    • 你现在可以使用你的类了!

在通用网关中,如果你想通过触发一个带有动作的事件来使用你的代码,确保动作对象的类设置为处理程序名称,包括命名空间。例如,如果我想使用MyFirstService,我可以将MyFirstHandler设置为CommonGateway\MyFirstBundle\ActionHandler\MyFirstHandler