【问题标题】:Existing PHP Tool for Feature Toggle现有的功能切换 PHP 工具
【发布时间】:2011-11-01 12:02:21
【问题描述】:

最近,我阅读了许多文章,这些文章谈到了使用“功能切换”或“看门人”在开发完成之前对用户隐藏功能的想法。 Facebook 和 Flickr 还讨论了他们如何使用它来测试一部分用户的新功能,然后再将它们释放给所有人。

谷歌搜索并没有发现任何现有的 PHP 包/工具可以添加到 Web 应用程序来处理这种类型的事情。滚动我们自己的方法似乎很简单,但如果我们不需要,没有理由重新发明那个轮子。是否有任何现有的 PHP 工具可以做到这一点?

文章

澄清:我希望查看它是否存在的部分是管理面板,它控制哪些用户可以看到新功能。在 Flickr 的示例中,他们可以根据主机打开它。在 Facebook 示例中,他们添加了一些功能,例如将功能限制为 5% 的用户、仅限 TechCrunch 用户或仅限东海岸用户。

当您有 200 个已启用的功能、10 个尚未完成的功能以及您正在为某些用户演示的另外 3 个功能时,管理面板似乎至关重要。

【问题讨论】:

  • 很容易自己滚动我一直这样做,检查用户而不是我,不要加载菜单项。检查用户不是我从部分前端控制器重定向到首页
  • 您使用的是哪个框架?哪个网络服务器?哪个代理?
  • 功能切换只是代码中的“if”语句。有一篇很好的帖子解释了Feature Toggle,还有一个想法让它不仅仅是使用功能切换管理器,这样您还可以测试它并管理功能切换
  • 这个问题需要更多的吸引力

标签: php continuous-integration continuous-deployment featuretoggle


【解决方案1】:

我找到的最简单的解决方案是将功能切换状态存储在某个可以轻松更改(打开/关闭)的远程位置

我发现在 GitHub 上很容易拥有一个包含一些带有功能切换状态的 JSON 数据的存储库,稍后您可以在 GitHub 上更改该状态(从手机/PC 等...)

您的 php 代码需要获取 JSON 并从中做出决定...

您可以查看有关如何实现此目的的博客文章:

http://www.nimrodstech.com/dead-simple-feature-toggle/

它显示了如何以简单的方式实现此目的的代码 sn-p。

【讨论】:

    【解决方案2】:

    我为功能切换模式编写了一个微服务,称为 Bipolar:

    https://marinho.github.io/bipolar-server

    它是用 Python 编写的,但这并不重要,因为它是一个外部 API 和 Admin 接口,所以你只需要为它编写一个 PHP 客户端。我们已经在生产中使用了一段时间,但最近才在公开发布和文档上工作。对于 JavaScript 支持,它可以使用 Webhooks 作为基本 URL 调用或通过 Pusher 事件推送通知。

    多年没有接触PHP,有点怀念,但如果你有兴趣,我可以帮你写客户端。

    希望对你有所帮助。

    【讨论】:

      【解决方案3】:
      if (user_can_see_app()) {
          show_app();
      } else {
          dont_show_app();
      }
      

      我不明白为什么这么简单的事情需要一个包。

      【讨论】:

      • 更新了问题。我很想看看是否有一个现有的管理面板来处理来自 user_can_see_app() 的答案。
      • 条件不是主要部分。拥有一个用于功能切换的包最重要的是能够加载状态、在本地缓存它们并在多个地方验证相同的功能。还欢迎提供管理工具以及与其他语言、组件和前端集成的方法。
      猜你喜欢
      • 2011-10-25
      • 2011-05-11
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      • 2020-04-23
      • 2017-11-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多