用于功能切换的现有PHP工具

时间:2011-08-22 21:29:03

标签: php continuous-integration continuous-deployment featuretoggle

最近我读过一些文章,讨论使用“功能切换”或“看门人”的想法,以便在开发完成之前保持用户隐藏功能。 Facebook和Flickr都谈到他们如何使用它来测试一部分用户的新功能,然后再将其释放给每个人。

一些谷歌搜索没有发现任何现有的PHP包/工具可以添加到Web应用程序来处理这类事情。如果我们不需要的话,似乎可以直接推出我们自己但没有理由重新发明那个轮子。有没有现成的PHP工具呢?

文章

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

如果你有200个开启的功能,10个尚未完成的功能以及3个你正在为某些用户演示的功能,那么管理面板似乎至关重要。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

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

多年后我没有接触过PHP,但是如果你有兴趣的话,我可以帮助你写一下客户端。

我希望这会有所帮助。

答案 2 :(得分:0)

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

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

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

你可以看一下如何实现这个目标的博客文章:

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

它显示了如何以简单的方式实现此目的的代码片段。