nusje2000/feature-toggle-bundle

一个用于在项目中添加和管理功能开关的组件

安装次数: 10,696

依赖项: 0

建议者: 0

安全性: 0

星标: 4

关注者: 2

分支: 2

开放问题: 7

类型:symfony-bundle

v6.0.0 2024-08-26 12:56 UTC

README

动机

在我工作的公司,我们需要一种方法来隐藏未完成的功能,以便客户看不到。我们每周进行计划发布,希望尽可能快地部署这些版本。此组件提供了一种功能切换的实现,可以轻松集成到symfony框架中。

我们部署了10个以上的symfony项目,每个项目都有可以启用和禁用的功能。目前,我们使用parameters.yaml文件来处理此问题,但这已被证明效率不高。每次我们发布一个新功能时,我们都需要通过ssh连接到服务器并手动编辑文件。考虑到我们有时需要在不同服务器上的多个环境中执行此操作,这相当耗时。

结构

环境

环境是一组功能开关。假设您有多个运行在symfony上的项目,通过使用此组件,您可以在这组应用程序中集中管理所有功能。同一应用程序的多个实例(可能跨越多个服务器)也可以视为不同的环境,并且所有这些环境都可以有自己的功能集。

单个应用程序的环境

当只是编写一个将部署在单个服务器上的简单项目时,您将只有一个环境。此组件也将涵盖此用例。

功能

功能是应用程序中的一个组件,在此应用程序中,功能可以有两个状态:禁用和启用。功能与环境相关联,不同的环境可以有不同的功能集。

存储库

功能和环境存储在存储库中。此组件将包含一些不同的存储库实现,但也可以轻松编写自己的实现。

用法

有关如何使用此组件的详细指南,请参阅文档