Pennant Features
Documentation
Use search-docs for detailed Pennant patterns and documentation.
Basic Usage
Defining Features
use Laravel\Pennant\Feature;
Feature::define('new-dashboard', function (User $user) { return $user->isAdmin(); });
Checking Features
if (Feature::active('new-dashboard')) { // Feature is active }
// With scope if (Feature::for($user)->active('new-dashboard')) { // Feature is active for this user }
Blade Directive
@feature('new-dashboard') <x-new-dashboard /> @else <x-old-dashboard /> @endfeature
Activating / Deactivating
Feature::activate('new-dashboard'); Feature::for($user)->activate('new-dashboard');
Verification
-
Check feature flag is defined
-
Test with different scopes/users
Common Pitfalls
-
Forgetting to scope features for specific users/entities
-
Not following existing naming conventions