Cos’è Laravel Pennant
Laravel Pennant è un pacchetto leggero per i feature flag. Ti permette rollout progressivi, A/B test e trunk-based development.Cosa sono i feature flag
I flag separano deploy e rilascio: il codice va in produzione ma la funzionalità è controllata da config.Installazione
1
Pacchetto
2
Pubblica config e migration
3
Migrate
Configurazione
config/pennant.php gestisce lo store:
Definizione delle feature
Closure-based
Nelboot di un service provider:
Se la definizione è solo una Lottery puoi omettere la closure:
Class-based
app/Features/NewApi.php:
Nome memorizzato
Metodo before
Eseguito in memoria prima dello store; se non null prevale.
Verifica delle feature
active / inactive
when / unless
Trait HasFeatures
Blade
Middleware
Il middlewareEnsureFeaturesAreActive richiede la feature: se inattiva restituisce 400.
Cache in-memory
Pennant memorizza i risultati per richiesta.Scope
Specifica dello scope
Default: utente autenticato. Confor():
Scope predefinito
Scope nullable
Se lo scope ènull (route senza autenticazione, Artisan), la definizione deve accettarlo altrimenti restituisce false.
Valori ricchi
Non solo boolean:Con valori ricchi, tutto ciò che non è
false è considerato attivo.Più feature contemporaneamente
Eager loading
Aggiornamento dei valori
Manuale
Bulk
Purge
Test
tab=Pest
tab=PHPUnit
tab=Pest
tab=PHPUnit
Store per i test
Driver personalizzato
ImplementaLaravel\Pennant\Contracts\Driver.
Riepilogo
Prossimi passi
Gestione errori
Gestione delle eccezioni.
Laravel Pulse
Dashboard di monitoraggio.