britt11654 / my-first-bundle
创建 symfony flex 插件捆绑包的示例包
dev-main
2022-11-16 10:59 UTC
Requires
- php: >=7.4
Requires (Dev)
- symfony/dependency-injection: ~3.4|~4.1|~5.0
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
安装此插件。
创建您自己的捆绑包
要求
- GitHub 账户或组织
- Packagist 账户
- Composer 或如果您项目已 docker 化,则 Docker Desktop
使用此模板
要创建自己的 symfony 捆绑包。您可以复制此仓库以快速开始。
- 在 GitHub 上登录
- 使用 此模板
- 命名您的捆绑包(驼峰式命名)
- 点击绿色按钮
从模板创建仓库
- 更新文件名和命名空间以适合您的需求
- 打开 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 进行安装。
- 上传到 Packagist
- 转到 Packagist
- 在顶部菜单栏中点击
提交
并粘贴您的捆绑包的 GitHub 仓库链接,您 composer.json 中的名称将被用作包名称。 - 如果有效,请点击
提交
- 自动更新包
- 转到您的 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
- 使用命令行导航到你的composer.json所在的项目中,你想要使用这个包。
- 执行
composer require {完整包名}:dev-main
- 对于Docker用户:重启容器以便symfony能够识别新的Bundle命名空间
- 执行
- 打开你想要使用类的php文件。
- 添加正确的use语句(例如
use CommonGateway\MyFirstBundle\Service\MyFirstService;
) - 你现在可以使用你的类了!
- 添加正确的use语句(例如
在通用网关中,如果你想通过触发一个带有动作的事件来使用你的代码,确保动作对象的类设置为处理程序名称,包括命名空间。例如,如果我想使用MyFirstService,我可以将MyFirstHandler设置为CommonGateway\MyFirstBundle\ActionHandler\MyFirstHandler
。