PHP code example of juststeveking / laravel-feature-flags
1. Go to this page and download the library: Download juststeveking/laravel-feature-flags library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
juststeveking / laravel-feature-flags example snippets
namespace App\Models;
use Illuminate\Foundation\Auth\User as Authenticatable;
use JustSteveKing\Laravel\FeatureFlags\Concerns\HasFeatures;
class User extends Authenticatable
{
use HasFeatures;
}
// This will create the Feature Group if not already created and attach the user to it.
auth()->user()->addToGroup('beta testers');
// Alternatively you can use the following syntax
auth()->user()->joinGroup('beta testers');
// You can check if a user is a member of a feature group
auth()->user()->inGroup('beta testers');
// You can also get a user to leave a feature group
auth()->user()->leaveGroup('beta testers');
// You can also pass in more than one group name
auth()->user()->joinGroup('beta testers', 'api testers');
// This will create the Feature if not already created and attach the user to it.
auth()->user()->giveFeature('run reports');
// You can check if a user has a specific feature
auth()->user()->hasFeature('run reports');
// You can also remove a feature for a user
auth()->user()->removeFeature('run reports');
// Like with Feature Groups you can pass in more than one option
// These will return if any are matched.
auth()->user()->hasFeature('run reports', 'admin');
// Create a Feature Group
$group = FeatureGroup::create([
'name' => 'Beta Testers'
]);
// Create a Feature
$feature = Feature::create([
'name' => 'API Access'
]);
// Add the Feature to the Feature Group
$group->addFeature($feature);
// Assign a User to the Group
auth()->user()->joinGroup($group->name);
if (auth()->user()->groupHasFeature('api access')) {
// The user belongs to a group that has access to this feature.
}
if (auth()->user()->hasFeature('run reports')) {
// The user has been given access to this feature outside of group features
}
if (auth()->user()->hasFeature('user level feature')) {
// The user has access to this feature as a user or through a group.
}
php artisan feature-flags:extend-feature
// You can check if a user has a specific feature
@feature('api access')
<x-api-console />
@endfeature
// You can check if a user is a member of a feature group
@featuregroup('beta testers')
<x-group-feature />
@endfeaturegroup
// You can check if a user is a member of a group with access to a feature
@groupfeature('api access')
<x-api-console />
@endgroupfeature