7

最近我读了一些文章,谈论使用“功能切换”或“守门人”的想法,以保持用户隐藏的功能,直到开发完成。 Facebook和Flickr都会谈到他们如何使用这个功能在用户的一部分上测试新功能,然后再将其释放给所有人。现有的PHP工具功能切换

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

文章

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

当您有200个开启的功能,10个功能尚未完成,另外3个功能正在为某些用户进行演示时,管理面板显得至关重要。

+0

非常简单的滚动你自己的我一直这样做,检查用户不是我,不加载菜单项。检查用户不是我重定向到前端页面的前端控制器 – 2011-08-22 21:48:25

+0

您正在使用哪个框架?哪个Webserver?哪个代理? – hakre

+0

功能切换只是代码中的“if”语句。有一个很好的帖子解释了[Feature Toggle](http://www.aviransplace.com/2013/03/27/continuous-delivery-part-3-feature-toggles),也有一个想法让它变得有点不仅仅是一个如果使用功能切换管理器,所以你也可以测试它并管理功能切换 – 2013-03-31 06:09:45

回答

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

我不明白为什么一个软件包需要这么简单。

+0

更新了问题。我很感兴趣,看看是否有现有的管理面板来处理来自user_can_see_app()的答案。 –

+2

条件不是主要部分。具有用于功能切换的包最重要的是能够加载状态,在本地缓存它们并在多个位置验证相同的功能。还有一个管理工具以及与其他语言,组件和前端集成的方法也是受欢迎的。 –

1

我已经写了功能切换模式的微服务,称为双极性:

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

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

经过多年没有与PHP联系,我有点遗漏,但如果您有兴趣,我可以帮助您编写客户端。

我希望能有所帮助。

0

我发现的最简单的解决方案是具有存储在一些远程位置的特征切换状态,可以容易地改变(打开/关闭)

我发现它容易有在GitHub回购保持一些JSON数据与功能切换的状态,以后你可以改变GitHub上那个状态(从手机/ PC等)

你的PHP代码需要获取的JSON,并从它的决定......

你可以看看如何实现这个博客文章:

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

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