devexploris/shizuku-feature-flags
Symfony bundle to manage feature flags stored in Doctrine ORM. Toggle features from the database, check flags in PHP via FeatureFlagService or in Twig with the feature() function, and manage flags with CLI commands to list, create, enable, and disable.
{% if feature('new_ui') %}).*"Shizuku Feature Flags is a strategic tool to accelerate feature delivery while minimizing risk. Here’s how it drives value:
Upfront Effort: ~1 hour to set up; ROI: Fewer production incidents, faster iterations, and cleaner code. Let’s pilot this with 2–3 high-risk features (e.g., payments, auth) to validate the workflow before full adoption."*
*"This is a lightweight, Doctrine-backed feature flag solution tailored for Symfony, with key advantages for our stack: Pros:
shizuku:flag:create --name=my_feature --enable), with interactive prompts for quick setup.{% if feature('dark_mode') %}, enabling responsive UI changes without backend roundtrips.Tradeoffs:
Recommendation:
Next Steps:
*"Here’s how you’ll use Shizuku Feature Flags in your daily workflow: Getting Started:
composer require devexploris/shizuku-feature-flags
config/bundles.php and run migrations:
php bin/console doctrine:migrations:diff
php bin/console doctrine:migrations:migrate
Key Commands:
php bin/console shizuku:flag:create
Or with options:
php bin/console shizuku:flag:create --name=new_ui --description="Dark mode toggle" --enable
php bin/console shizuku:flag:enable --name=new_ui
php bin/console shizuku:flag:disable --name=old_feature
php bin/console shizuku:flag:lock --name=deprecated_api
php bin/console shizuku:list Enabled
In Code:
Inject FeatureFlagService and check flags:
use Devexploris\ShizukuFeatureFlags\Service\FeatureFlagService;
class MyController {
public function __construct(private FeatureFlagService $flags) {}
public function index() {
if ($this->flags->isEnabled('new_ui')) {
return $this->render('ui/new.html.twig');
}
return $this->
How can I help you explore Laravel packages today?