Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Est-il possible d'utiliser Laravel Pennant avec Laravel Spark pour la blindage des fonctionnalités dans une application SaaS


Est-il possible d'utiliser Laravel Pennant avec Laravel Spark pour la blindage des fonctionnalités dans une application SaaS


Oui, il est possible d'utiliser Laravel Pennant avec Laravel Spark pour le signalement des fonctionnalités dans une application SaaS. Voici une explication détaillée:

** Aperçu de Laravel Pennant
Laravel Pennant est un package de drapeau de fonction léger et léger conçu pour les applications Laravel. Il vous permet de déployer progressivement de nouvelles fonctionnalités, d'effectuer des tests A / B et de gérer l'accès des fonctionnalités avec une configuration minimale. Pennant prend en charge le stockage des valeurs des indicateurs de fonctionnalité dans une base de données ou un tableau en mémoire et permet des indicateurs de portée aux utilisateurs, aux équipes ou à d'autres modèles, ce qui est essentiel pour les applications SaaS avec des fonctionnalités multi-locataires ou basées sur l'abonnement [1] [3] [5] [7].

** Présentation de Laravel Spark
Laravel Spark est un kit de démarrage SaaS pour Laravel qui fournit une facturation d'abonnement, une gestion d'équipe et d'autres fonctionnalités spécifiques au SaaS hors de la boîte. Il gère les abonnements, les essais et l'intégration de facturation des utilisateurs, qui sont des préoccupations courantes dans les applications SaaS [4].

** Faisabilité de l'intégration
- Étant donné que Laravel Pennant prend en charge les indicateurs de fonctionnalité de portée à des modèles éloquents tels que les utilisateurs ou les équipes, vous pouvez tirer parti des modèles d'utilisateur et d'abonnement de Spark pour activer ou désactiver les fonctionnalités en fonction du statut d'abonnement, de la période d'essai ou de l'appartenance à l'équipe.
- Pennant permet de définir la logique personnalisée pour une fonctionnalité active, vous pouvez donc créer des définitions de fonctionnalités qui vérifient si un utilisateur est en essai, a un certain plan d'abonnement ou appartient à une équipe spécifique gérée par Spark [1] [2]. Par exemple, vous pouvez activer une fonctionnalité uniquement pour les utilisateurs actuellement dans une période d'essai ou sur un plan premium.
- Le stockage soutenu par la base de données de Pennant et la capacité à étendre les drapeaux pour bien s'adapter aux modèles avec le système d'abonnement et de gestion d'équipe basé sur la base de données de Spark, permettant un contrôle persistant et granulaire sur la disponibilité des fonctionnalités.
- Vous pouvez étendre Pennant avec des pilotes personnalisés ou implémenter le contrat de fonctionnalités sur les modèles utilisateur ou d'équipe de Spark pour personnaliser comment les drapeaux de fonctionnalités sont résolus et stockés [1].

** Cas d'utilisation pratiques
- Activer les fonctionnalités expérimentales uniquement pour les utilisateurs de Spark qui sont en essai et les désactiver automatiquement à la fin de l'essai.
- Découvrez progressivement de nouvelles fonctionnalités aux clients payants ou à des niveaux d'abonnement spécifiques.
- Utilisez des drapeaux de fonctionnalité pour l'accès à la porte à la nouvelle facturation ou aux fonctionnalités de gestion d'équipe fournies par Spark.
- Effectuez des tests A / B sur les composants ou les workflows d'interface utilisateur pour différents segments d'utilisateurs gérés par Spark, stockant les états d'indicateur dans la session ou la base de données via Pennant [2] [8].

** Étapes de mise en œuvre
1. Installez Laravel Pennant dans votre application Laravel Spark à l'aide du compositeur.
2. Publier les fichiers de configuration et de migration de Pennant, puis exécuter les migrations pour créer le tableau des fonctionnalités.
3. Définissez vos indicateurs de fonctionnalité dans Pennant, en utilisant des fermetures ou des classes qui vérifient l'abonnement de l'utilisateur Spark ou l'état d'essai pour déterminer si une fonctionnalité est active.
4. Utilisez la méthode `Fonction :: active ('fonctionnement', $ utilisateur) de Pennant dans votre code d'application, middleware ou vues pour activer conditionnellement les fonctionnalités.
5. Implémentez éventuellement l'interface `Featurelscopeable` sur les modèles d'utilisateur ou d'équipe de Spark pour personnaliser la portée du drapeau des fonctionnalités.
6. Gérer dynamiquement les indicateurs de fonction via la base de données ou les pilotes personnalisés selon les besoins.

En résumé, la flexibilité de Laravel Pennant et les capacités de portée des modèles le rendent bien adapté à l'intégration à Laravel Spark pour le signalement des fonctionnalités dans les applications SaaS. Cette combinaison vous permet de contrôler la disponibilité des fonctionnalités en fonction des plans d'abonnement, des essais et des abonnements d'équipe, permettant des déploiements de fonctionnalités sûrs et incrémentiels adaptés à votre logique commerciale SaaS [1] [2] [7].

Citations:
[1] https://laravel.com/docs/11.x/Pennant
[2] https://github.com/laravel/pennant/issues/52
[3] https://laravel-news.com/feature-flags-with-laravel-pennant
[4] https://spark.laravel.com/docs/spark-stripe/upgrade
[5] https://www.youtube.com/watch?v=ejlaaehspwy
[6] https://www.binarcode.com/blog/feature-flaggin-laravel
[7] https://www.honeybadger.io/blog/a-guide-to-feature-flags-in-lavavel/
[8] https://stackoverflow.com/questions/77751003/Laravel-Pennant-store-against-Session-for-a-b-b-Testing
[9] https://posthog.com/tutorials/laravel-feature-flags
[10] https://dev.to/saurabh-dhariwal/how-to-manage-feature-flags-with-laravel-pennant-in-2024-1phb