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/

它顯示瞭如何以簡單的方式實現這個代碼片段。