现有的PHP功能切换工具


Existing PHP Tool for Feature Toggle

最近我读了很多文章,讨论了使用"功能切换"或"看门人"的想法,以便在开发完成之前对用户隐藏功能。Facebook和Flickr都谈到了他们如何在向所有人发布新功能之前,在一小部分用户中测试新功能。

我搜索了一下,没有找到任何现有的PHP包/工具可以添加到web应用程序中来处理这种类型的事情。这看起来很简单,我们可以自己滚动轮子,但如果不需要的话,我们没有理由重新发明轮子。有什么现有的PHP工具可以做到这一点吗?

文章

  • Flickr DevBlog上的翻转

澄清:这部分,我正在寻找,看看它是否存在是管理面板,控制哪些用户可以看到新的功能。在Flickr的例子中,他们可以根据主机来打开它。在Facebook的例子中,他们添加了一些功能,比如限制5%的用户使用某项功能,仅限TechCrunch用户或东海岸用户使用。

当你有200个开启的功能,10个尚未完成的功能和3个你正在向一些用户演示的功能时,管理面板似乎很重要。

if (user_can_see_app()) {
    show_app();
} else {
    dont_show_app();
}

我不明白为什么这么简单的东西需要一个包

我已经为特性切换模式写了一个微服务,叫做Bipolar:

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

它是用Python写的,但没关系,因为它是一个外部API和管理接口,所以,你所需要的就是为它写一个PHP客户端。我们在生产环境中使用它已经有一段时间了,但最近才开始公开发布和编写文档。对于JavaScript支持,它可以使用Webhooks作为一个基本的URL调用或通过push事件来推送通知。

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

希望对大家有帮助。

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

我发现很容易在GitHub上有一个仓库持有一些JSON数据与功能切换的状态,以后你可以改变GitHub上的状态(从电话/pc等…)

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

你可以看看如何实现这一点的博客文章:

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

它显示了如何以一种简单的方式实现这一点的代码片段。