nusje2000 / feature-toggle-bundle
一个用于在项目中添加和管理功能开关的组件
v6.0.0
2024-08-26 12:56 UTC
Requires
- php: ^8.1
- psr/log: ^1.0|^2.0|^3.0
- symfony/cache: ^6.2 || ^7.0
- symfony/config: ^6.2 || ^7.0
- symfony/console: ^6.2 || ^7.0
- symfony/dependency-injection: ^6.2 || ^7.0
- symfony/event-dispatcher: ^6.2 || ^7.0
- symfony/filesystem: ^6.2 || ^7.0
- symfony/http-client: ^6.2 || ^7.0
- symfony/http-foundation: ^6.2 || ^7.0
- symfony/http-kernel: ^6.2 || ^7.0
- symfony/polyfill-php80: ^1.22
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpstan/phpstan-phpunit: ^1.3
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^9.5
- psalm/plugin-phpunit: ^0.18
- psalm/plugin-symfony: ^5.0
- twig/twig: ^3.0
- vimeo/psalm: ^5.0
- dev-master
- v6.0.0
- v5.2.0
- v5.1.0
- v5.0.0
- v4.0.1
- v4.0.0
- v3.0.0
- v2.1.1
- v2.1.0
- v2.0.0
- v1.1.1
- v1.1.0
- v1.0.0
- v0.2.4
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.7
- v0.1.6
- v0.1.5
- v0.1.4
- v0.1.3
- v0.1.2
- v0.1.1
- v0.1.0
- dev-feature/symfony-6-support
- dev-nusje2000-patch-1
- dev-feature/cleanup-command
- dev-feature/access-control-documentation
- dev-feature/code-style-fixes
- dev-feature/access-control-integration
- dev-feature/features-configuration-fix
- dev-feature/http-cache
This package is auto-updated.
Last update: 2024-09-26 13:07:17 UTC
README
动机
在我工作的公司,我们需要一种方法来隐藏未完成的功能,以便客户看不到。我们每周进行计划发布,希望尽可能快地部署这些版本。此组件提供了一种功能切换的实现,可以轻松集成到symfony框架中。
我们部署了10个以上的symfony项目,每个项目都有可以启用和禁用的功能。目前,我们使用parameters.yaml文件来处理此问题,但这已被证明效率不高。每次我们发布一个新功能时,我们都需要通过ssh连接到服务器并手动编辑文件。考虑到我们有时需要在不同服务器上的多个环境中执行此操作,这相当耗时。
结构
环境
环境是一组功能开关。假设您有多个运行在symfony上的项目,通过使用此组件,您可以在这组应用程序中集中管理所有功能。同一应用程序的多个实例(可能跨越多个服务器)也可以视为不同的环境,并且所有这些环境都可以有自己的功能集。
单个应用程序的环境
当只是编写一个将部署在单个服务器上的简单项目时,您将只有一个环境。此组件也将涵盖此用例。
功能
功能是应用程序中的一个组件,在此应用程序中,功能可以有两个状态:禁用和启用。功能与环境相关联,不同的环境可以有不同的功能集。
存储库
功能和环境存储在存储库中。此组件将包含一些不同的存储库实现,但也可以轻松编写自己的实现。
用法
有关如何使用此组件的详细指南,请参阅文档。