在 Laravel 应用程序中启用/禁用功能

Sta*_*bie 13 design-patterns laravel laravel-4 laravel-5

我正在构建一个 Laravel 应用程序,它具有许多不同的功能。我希望能够根据特定域的要求启用或禁用它们。目前,我的配置中有一系列标志,例如:

'is_feature_1_enabled' => true,
'is_feature_2_enabled' => false,
Run Code Online (Sandbox Code Playgroud)

... 等等。

然后在我的控制器和视图中,我检查这些配置值以查看我是否应该显示某些内容,允许某些操作等。我的应用程序开始在任何地方都受到此类检查的污染。

是否有管理 Laravel 应用程序功能的最佳实践方法?

小智 6

这在技术上称为功能标志 - https://martinfowler.com/articles/feature-toggles.html

取决于您的要求、配置/数据库中的标志、推出等...

但它基本上是在代码中并且不能是干净的。

Laravel 包:

https://github.com/alfred-nutile-inc/laravel-feature-flag

https://github.com/francescomalatesta/laravel-feature

部分服务:

https://launchdarkly.com/

https://bullet-train.io/

https://configcat.com/

参阅https://marketingplatform.google.com/about/optimize/以了解前端。