Comment gérer les indicateurs de fonctionnalités avec Laravel Pennant en 4

Linda Hamilton
Libérer: 2024-10-25 01:43:02
original
472 Les gens l'ont consulté

How to Manage Feature Flags with Laravel Pennant in 4

La gestion des indicateurs de fonctionnalités est un aspect essentiel du développement logiciel moderne, permettant aux développeurs d'activer et de désactiver des fonctionnalités sans redéployer le code. Dans Laravel, les indicateurs de fonctionnalités peuvent être gérés à l'aide du package Laravel Pennant, introduit dans Laravel 10. Pennant offre un moyen simple et efficace de gérer les indicateurs de fonctionnalités, vous permettant de contrôler l'accès aux nouvelles fonctionnalités, d'effectuer des tests A/B et de déployer progressivement les modifications auprès de vos utilisateurs.

Dans ce guide, nous couvrirons tout ce que vous devez savoir sur la gestion des indicateurs de fonctionnalités avec Laravel Pennant en 2024. De la configuration du package à la mise en œuvre de cas d'utilisation avancés, nous fournirons des étapes détaillées, des bonnes pratiques et des exemples pour vous aider. vous tirez le meilleur parti de cet outil puissant.

1. Qu'est-ce que le fanion Laravel ?

Laravel Pennant est un package de gestion des indicateurs de fonctionnalités introduit dans Laravel 10. Il permet aux développeurs de définir et de gérer les indicateurs de fonctionnalités directement dans leurs applications Laravel. Les indicateurs de fonctionnalité (ou bascules de fonctionnalité) sont des commutateurs booléens qui contrôlent la disponibilité d'une fonctionnalité sans nécessiter de modification de code ou de redéploiement. Cela signifie que vous pouvez activer ou désactiver des fonctionnalités pour des utilisateurs, des groupes ou des environnements spécifiques sans affecter l'application globale.

Pennant simplifie le processus de gestion des indicateurs de fonctionnalités en proposant une API intuitive et une intégration avec les services de base de Laravel, tels que l'authentification et la mise en cache.

2. Pourquoi utiliser les indicateurs de fonctionnalités dans Laravel ?

Les indicateurs de fonctionnalités fournissent un mécanisme puissant pour contrôler comment et quand certaines fonctionnalités sont exposées aux utilisateurs. Voici quelques raisons pour lesquelles vous devriez utiliser les indicateurs de fonctionnalités dans Laravel :

  • Déploiements contrôlés : Vous pouvez proposer progressivement de nouvelles fonctionnalités à un sous-ensemble d'utilisateurs, en vous assurant que tout problème ou bug est détecté avant que la fonctionnalité ne soit disponible pour tous les utilisateurs.
  • Tests A/B : Les indicateurs de fonctionnalités vous permettent d'expérimenter différentes versions de fonctionnalités et de mesurer leur impact sur le comportement des utilisateurs.
  • Publications plus rapides : Découplez le déploiement des fonctionnalités du processus de publication, ce qui vous permet de publier des fonctionnalités incomplètes ou expérimentales tout en les gardant cachées derrière des indicateurs de fonctionnalités.
  • Risque réduit : Si une fonctionnalité pose des problèmes en production, vous pouvez la désactiver rapidement sans redéployer le code.

3. Configuration du fanion Laravel

Pour démarrer avec Laravel Pennant, vous devez installer le package à l'aide de Composer. Laravel Pennant est inclus par défaut dans Laravel 10, mais vous pouvez toujours l'installer manuellement dans les versions antérieures.

composer require laravel/pennant

Copier après la connexion
Copier après la connexion

Une fois le package installé, vous pouvez publier le fichier de configuration (si nécessaire) et migrer les tables de base de données nécessaires. Pennant utilise une table de base de données pour conserver les indicateurs de fonctionnalités entre les utilisateurs et les environnements.

php artisan vendor:publish --tag=pennant-config
php artisan migrate

Copier après la connexion
Copier après la connexion

Le fichier de configuration vous permet de définir des comportements par défaut pour vos indicateurs de fonctionnalités, tels que la mise en cache, le stockage, etc.

4. Définir des indicateurs de fonctionnalité

Dans Laravel Pennant, vous définissez des indicateurs de fonctionnalités dans votre application en utilisant la façade Feature. Les indicateurs de fonctionnalités sont généralement définis chez un fournisseur de services ou un contrôleur, en fonction de vos besoins.

Voici comment définir un indicateur de fonctionnalité :

use Laravel\Pennant\Feature;

Feature::define('new-feature');

Copier après la connexion
Copier après la connexion

Ce code crée un nouvel indicateur de fonctionnalité appelé new-feature. Par défaut, la fonctionnalité est désactivée pour tous les utilisateurs.

Vous pouvez également définir des indicateurs de fonctionnalités avec des conditions, permettant de les activer pour certains utilisateurs ou groupes en fonction d'une logique spécifique.

Feature::define('new-feature', function ($user) {
    return $user->role === 'admin';
});

Copier après la connexion
Copier après la connexion

Cet exemple active la fonctionnalité uniquement pour les utilisateurs ayant le rôle d'administrateur.

5. Utilisation des indicateurs de fonctionnalités dans votre application

Une fois que vous avez défini vos indicateurs de fonctionnalités, vous pouvez les utiliser dans votre application pour contrôler l'accès à des fonctionnalités spécifiques. Cela se fait généralement en vérifiant l'indicateur de fonctionnalité avant de restituer les vues, d'exécuter la logique ou d'afficher certains éléments de l'interface utilisateur.

Voici un exemple de la façon dont vous pouvez utiliser un indicateur de fonctionnalité dans un contrôleur :

use Laravel\Pennant\Feature;

public function index()
{
    if (Feature::active('new-feature')) {
        // Show new feature
        return view('new-feature');
    }

    // Show old feature
    return view('old-feature');
}

Copier après la connexion

La méthode Feature::active() vérifie si la fonctionnalité est activée pour l'utilisateur ou la session actuelle. Si la fonctionnalité est active, l'application affichera la nouvelle vue des fonctionnalités ; sinon, il affichera l'ancienne vue des fonctionnalités.

6. Portées et conditions des fonctionnalités

L'un des aspects les plus puissants de Laravel Pennant est la possibilité de définir l'étendue et les conditions des fonctionnalités. Les étendues de fonctionnalités vous permettent de contrôler le comportement des indicateurs de fonctionnalités pour différents utilisateurs, environnements ou contextes.

Par exemple, vous souhaiterez peut-être activer une fonctionnalité uniquement pour un groupe d'utilisateurs spécifique :

Feature::define('beta-feature', function ($user) {
    return $user->isBetaTester();
});

Copier après la connexion

Dans ce cas, l'indicateur de fonctionnalité bêta n'est actif que pour les utilisateurs bêta-testeurs. Vous pouvez également définir des conditions plus complexes, telles que l'activation d'une fonctionnalité en fonction du temps, de l'environnement ou d'autres facteurs.

Feature::define('holiday-sale', function () {
    return now()->isBetween('2024-12-20', '2024-12-31');
});

Copier après la connexion

Cet indicateur de fonctionnalité active une fonctionnalité « vente de vacances » pendant la période des fêtes.

7. Indicateurs de fonctionnalités persistants

Par défaut, Laravel Pennant stocke les indicateurs de fonctionnalités en mémoire, ce qui signifie qu'ils ne sont pas conservés d'une requête ou d'une session à l'autre. Cependant, vous pouvez conserver les indicateurs de fonctionnalité à l'aide du pilote de base de données fourni.

Pour conserver les indicateurs de fonctionnalité, vous devez migrer la table de base de données et utiliser la méthode for() pour attribuer des indicateurs de fonctionnalité à des utilisateurs ou des contextes spécifiques.

php artisan migrate

Copier après la connexion

Une fois la table de base de données créée, vous pouvez conserver les indicateurs de fonctionnalité comme ceci :

composer require laravel/pennant

Copier après la connexion
Copier après la connexion

Cela active l'indicateur de nouvelle fonctionnalité pour l'utilisateur spécifié et le conserve dans la base de données. Vous pouvez également désactiver un indicateur de fonctionnalité :

php artisan vendor:publish --tag=pennant-config
php artisan migrate

Copier après la connexion
Copier après la connexion

Les indicateurs de fonctionnalités peuvent également être conservés globalement (pour tous les utilisateurs) ou pour des segments d'utilisateurs spécifiques, tels que ceux dans différents environnements (développement, production, etc.).

8. Cas d'utilisation avancés

Laravel Pennant est suffisamment flexible pour gérer des cas d'utilisation avancés tels que des déploiements progressifs et des tests A/B.

Déploiements progressifs de fonctionnalités

Pour déployer progressivement une fonctionnalité auprès des utilisateurs, vous pouvez utiliser une approche basée sur un pourcentage. Par exemple, vous pouvez activer une fonctionnalité pour 10 % des utilisateurs, puis augmenter progressivement le pourcentage à mesure que vous gagnez en confiance dans la stabilité de la fonctionnalité.

use Laravel\Pennant\Feature;

Feature::define('new-feature');

Copier après la connexion
Copier après la connexion

Dans ce cas, la fonctionnalité est activée pour 10 % des utilisateurs. Vous pouvez augmenter ce pourcentage selon vos besoins.

Tests A/B avec indicateurs de fonctionnalités
Les indicateurs de fonctionnalité sont idéaux pour les tests A/B, vous permettant de tester différentes variantes d'une fonctionnalité avec les utilisateurs et de mesurer leurs performances.

Feature::define('new-feature', function ($user) {
    return $user->role === 'admin';
});

Copier après la connexion
Copier après la connexion

Dans cet exemple, la fonctionnalité de refonte de la caisse est activée pour les utilisateurs ayant des identifiants pairs, vous permettant de tester la nouvelle conception de la caisse avec la moitié de vos utilisateurs tout en conservant l'ancienne conception pour l'autre moitié.

9. Meilleures pratiques pour gérer les indicateurs de fonctionnalités

Gérer efficacement les indicateurs de fonctionnalités nécessite de la discipline et une stratégie claire. Voici quelques bonnes pratiques à considérer :

  • Conserver les indicateurs de fonctionnalité temporaires : Les indicateurs de fonctionnalité doivent être temporaires et non permanents. Une fois qu'une fonctionnalité est entièrement déployée ou retirée, supprimez l'indicateur associé de la base de code.
  • Utilisez des noms descriptifs : Donnez à vos indicateurs de fonctionnalités des noms descriptifs qui indiquent clairement leur objectif. Évitez les noms vagues ou trop génériques.
  • Surveiller et mesurer : Utilisez des outils de surveillance et d'analyse pour suivre les performances des fonctionnalités contrôlées par des indicateurs. Ceci est particulièrement important pour les tests A/B et les déploiements progressifs.
  • Nettoyer les indicateurs inutilisés : Examinez et nettoyez régulièrement les indicateurs de fonctionnalités inutilisés ou obsolètes pour éviter l'encombrement et la confusion dans votre base de code.
  • Indicateurs de documents : Conservez la documentation des indicateurs de fonctionnalités actifs, y compris leur objectif, leur état actuel et leurs conditions d'activation.

Conclusion

Laravel Pennant offre une solution robuste et flexible pour gérer les indicateurs de fonctionnalités dans les applications Laravel. Grâce à sa simple intégration API dans les services de base de Laravel, Pennant facilite la définition, la gestion et la conservation des indicateurs de fonctionnalités pour les déploiements contrôlés, les tests A/B et bien plus encore.

En suivant les étapes décrites dans ce guide, vous pouvez commencer à utiliser des indicateurs de fonctionnalités dans vos projets Laravel pour améliorer votre processus de développement, réduire les risques et proposer de nouvelles fonctionnalités en toute confiance. Gardez à l’esprit les meilleures pratiques pour garantir que la gestion de vos indicateurs de fonctionnalités reste efficace et maintenable à mesure que votre application se développe.

Les indicateurs de fonctionnalités, lorsqu'ils sont utilisés correctement, peuvent transformer la façon dont vous créez, testez et déployez des fonctionnalités, vous donnant un meilleur contrôle sur l'expérience utilisateur et vous aidant à commercialiser de meilleurs produits plus rapidement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!