PHP code example of mohamedhekal / laravel-featurebox
1. Go to this page and download the library: Download mohamedhekal/laravel-featurebox 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/ */
mohamedhekal / laravel-featurebox example snippets
use FeatureBox\Facades\FeatureBox;
if (FeatureBox::isEnabled('new_checkout')) {
// Show new checkout flow
} else {
// Show classic checkout
}
use FeatureBox\Facades\FeatureBox;
public function test_feature_can_be_enabled()
{
FeatureBox::enable('test_feature');
$this->assertTrue(FeatureBox::isEnabled('test_feature'));
}
// Enable new checkout for premium users only
FeatureBox::enable('new_checkout', [
'user_roles' => ['premium'],
'environments' => ['production']
]);
// In your checkout controller
public function checkout()
{
$user = auth()->user();
if (FeatureBox::isEnabled('new_checkout', [
'user_id' => $user->id,
'role' => $user->role
])) {
return $this->newCheckout();
}
return $this->classicCheckout();
}
// Enable beta features for specific users
FeatureBox::enable('beta_dashboard', [
'user_ids' => [1, 5, 10, 15],
'start_date' => '2025-01-01',
'end_date' => '2025-03-31'
]);
// Enable debug features only in local environment
FeatureBox::enable('debug_panel', [
'environments' => ['local']
]);
// Roll out to 10% of users
FeatureBox::enable('gradual_rollout', [
'custom' => [
'rollout_percentage' => 10
]
]);
// In your code
$user = auth()->user();
$rolloutHash = crc32($user->id . 'gradual_rollout');
$inRollout = ($rolloutHash % 100) < 10;
if (FeatureBox::isEnabled('gradual_rollout', [
'rollout_percentage' => $inRollout ? 10 : 0
])) {
// New feature
}
bash
# Install the package
composer tions
php artisan vendor:publish --tag=featurebox-config
php artisan vendor:publish --tag=featurebox-migrations
# Run migrations
php artisan migrate
# Enable a feature
php artisan featurebox:enable new_checkout
# Use in your code
if (FeatureBox::isEnabled('new_checkout')) {
// New checkout flow
}