Существующий инструмент PHP для переключения функций
Недавно я прочитал ряд статей, в которых говорилось об идее использования "переключателей функций" или "привратников", чтобы скрывать функции от пользователей до завершения разработки. Facebook и Flickr также рассказывают о том, как они используют это для тестирования новых функций с подмножеством пользователей, прежде чем раскрывать их всем.
Немного гуглинга не выявило никаких существующих пакетов / инструментов PHP, которые можно добавить в веб-приложение для обработки подобных вещей. Кажется, это достаточно просто, чтобы катиться, но нет причин заново изобретать это колесо, если нам не нужно. Существуют ли какие-либо инструменты PHP для этого?
статьи
- Функция Toggle от Мартина Фаулера
- Листать на Flickr DevBlog
Пояснение: часть этого, которую я смотрю, чтобы увидеть, существует ли она, является административной панелью, которая контролирует, какие пользователи могут видеть новые функции. В примере Flickr они могут включить его в зависимости от хоста. В примере с Facebook они добавляют такую функциональность, как ограничение функции для 5% пользователей, только для пользователей TechCrunch или только для пользователей на восточном побережье.
Панель администратора кажется важной, когда у вас есть 200 включенных функций, 10 функций, которые еще не совсем сделаны, и еще 3, которые вы демонстрируете для некоторых пользователей.
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-вызова или через событие Pusher.
Я скучаю по многим годам без контакта с PHP, но я могу помочь вам написать клиент, если вы заинтересованы.
Я надеюсь, что это может быть полезно.
Самое простое решение, которое я нашел, - сохранить состояние переключения функций в каком-либо удаленном месте, которое можно легко изменить (включить или выключить).
Мне было легко иметь на GitHub репо, содержащее некоторые данные JSON с состоянием переключателя функций, позже вы можете изменить это состояние на GitHub (с телефона / компьютера и т. Д.)
Ваш PHP-код должен получить JSON и принять решение из него...
Вы можете посмотреть в блоге о том, как этого добиться:
http://www.nimrodstech.com/dead-simple-feature-toggle/
он показывает фрагмент кода о том, как этого добиться простым способом.