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 and deactivating
Feature::activate('new-dashboard');
Feature::for($user)->activate('new-dashboard');
Verification
- Check that the feature flag is defined
- Test with different scopes and users
Common pitfalls
- Forgetting to scope features for specific users or other entities
- Not following existing naming conventions