7

Recentemente ho letto un numero di articoli che parlano dell'idea di utilizzare "interruttori di funzione" o "gatekeeper" per mantenere le funzionalità nascoste agli utenti fino a quando lo sviluppo non viene completato. Anche Facebook e Flickr parlano di come lo usano per testare nuove funzionalità con un sottoinsieme di utenti prima di scatenarli su tutti.Strumento PHP esistente per funzionalità Toggle

Un po 'di googling non ha generato alcun pacchetto/strumento PHP esistente che possa essere aggiunto a un'app Web per gestire questo tipo di cose. Sembra abbastanza semplice far rotolare la nostra, ma non c'è motivo di reinventare quella ruota se non ne abbiamo bisogno. Esistono strumenti PHP esistenti per fare ciò?

articoli

Chiarimento: La parte di questo che sto cercando di vedere se esiste è il pannello di amministrazione che controlla quali utenti possono vedere le nuove funzionalità. Nell'esempio di Flickr, possono attivarlo in base all'host. Nell'esempio di Facebook, aggiungono funzionalità come limitare una funzionalità al 5% degli utenti, solo utenti di TechCrunch o solo utenti della costa orientale.

Il pannello di amministrazione sembra cruciale quando si hanno 200 funzionalità attivate, 10 funzioni non ancora completate e altre 3 che si stanno dimostrando per alcuni utenti.

+0

molto semplice da rotolare da solo lo faccio tutto il tempo, controllare utente non me, non caricare la voce di menu. controllare utente non reindirizzare alla prima pagina dalle sezioni controller front end –

+0

Quale Framework stai usando? Quale server web? Quale proxy? – hakre

+0

I cavicchi delle funzioni sono semplicemente un'istruzione "if" nel codice. C'è un buon post che spiega [Feature Toggle] (http://www.aviransplace.com/2013/03/27/continuous-delivery-part-3-feature-toggles), e anche un'idea per renderlo un po ' più di un semplice se si utilizza un gestore di attivazione delle funzionalità in modo da poterlo testare e gestire i commutatori di funzionalità –

risposta

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

Non riesco a capire perché un pacchetto sarebbe necessario per qualcosa di così semplice.

+0

È stata aggiornata la domanda. Sono interessato a vedere se esiste un pannello di amministrazione esistente per gestire la risposta da user_can_see_app(). –

+2

La condizione non è la parte principale. Il più importante di avere un pacchetto per il cambio di funzionalità è essere in grado di caricare gli stati, memorizzarli in cache localmente e convalidare la stessa funzionalità in più di un posto. Sono anche benvenuti uno strumento di amministrazione e modi per integrarsi con altre lingue, componenti e frontend. –

1

ho scritto un micro servizio per ripetizione di funzione di commutazione, chiamato bipolare:

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

E 'scritto in Python, ma che non importa, perché si tratta di un'API esterna e l'interfaccia di amministrazione, in modo da , tutto ciò che serve è scrivere un client PHP per questo. L'abbiamo usato in produzione per un po 'di tempo, ma di recente abbiamo lavorato solo su pubblica release e documentazione. Per il supporto JavaScript può inviare notifiche tramite Webhook come una chiamata URL di base o tramite un evento Pusher.

Sono un po 'mancato dopo molti anni senza alcun contatto con PHP, ma posso aiutarti a scrivere il cliente se sei interessato.

Spero che possa essere utile.

0

La soluzione più semplice che ho trovato è di avere lo stato di funzionalità ginocchiera memorizzati in qualche luogo remoto che può cambiare facilmente (accenderlo/off)

ho trovato facile avere su GitHub un repo azienda alcuni dati JSON con lo stato della funzione di commutazione, in seguito è possibile modificare questo stato su GitHub (da telefono/pc ecc ...)

codice PHP ha bisogno di prendere il JSON e prendere una decisione da esso ...

puoi consultare il post sul blog su come ottenere questo risultato:

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

mostra un frammento di codice su come ottenere ciò in modo semplice.