PHPackages                             rutkai/featureflipperbundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. rutkai/featureflipperbundle

AbandonedArchivedLibrary[Utility &amp; Helpers](/categories/utility)

rutkai/featureflipperbundle
===========================

Provides advanced feature toggling support for Symfony2 based projects

v1.0.1(11y ago)123MITPHPPHP &gt;=5.3.2

Since Feb 8Pushed 9y ago1 watchersCompare

[ Source](https://github.com/riskawarrior/SymfonyFeatureFlipper)[ Packagist](https://packagist.org/packages/rutkai/featureflipperbundle)[ RSS](/packages/rutkai-featureflipperbundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (8)Versions (3)Used By (0)

Advanced Feature Flipper (toggle) for Symfony2
==============================================

[](#advanced-feature-flipper-toggle-for-symfony2)

[![Build Status](https://camo.githubusercontent.com/e8fa313efca128151f59cba9da8097d4cabd34f332f29cd7065631894c303340/68747470733a2f2f7472617669732d63692e6f72672f7269736b6177617272696f722f53796d666f6e7946656174757265466c69707065722e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/riskawarrior/SymfonyFeatureFlipper)

This bundle provides a feature flipper interface for Symfony2. Main features:

- Feature checks in twigs and controllers (via DI)
- Assigning expiration date to features
- Assigning responsible people to features

Installation
------------

[](#installation)

Add this bundle to `composer.json` file:

```
"require": {
    ...
    "rutkai/featureflipperbundle": "~1.0"
},

```

Register it in AppKernel:

```
$bundles = array(
    ...
    new Rutkai\FeatureFlipperBundle\RutkaiFeatureFlipperBundle(),
);

```

Usage
-----

[](#usage)

### Configuration

[](#configuration)

```
# config.yml

rutkai_feature_flipper:
    enable_undefined_feature: true  # Optional, sets the default strategy for undefined features
    expiration_warning: 7           # Optional, expiration e-mails will be sent to responsibles if expiration occurs within the next x days
    feature_class: Rutkai\FeatureFlipperBundle\Feature\Feature  # Optional, default feature container, must implement FeatureInterface
    templates:
        warning_console: RutkaiFeatureFlipperBundle:FeatureCheck:warning.txt.twig # Optional, output warning template for feature check command
        warning_email: RutkaiFeatureFlipperBundle:FeatureCheck:warning.txt.twig   # Optional, e-mail warning template for feature check command
        alert_console: RutkaiFeatureFlipperBundle:FeatureCheck:alert.txt.twig     # Optional, output alert template for feature check command
        alert_email: RutkaiFeatureFlipperBundle:FeatureCheck:alert.txt.twig       # Optional, e-mail alert template for feature check command
    email:
        from: architect@example.com # Required, sender of the warning (default: noreply@example.com)
        subject: Expired feature    # Optional, subject for the warnings
    features:
        feature_id:
            enabled: true                       # Required
            expiration: "2015-03-03 12:00:00"   # Optional
            responsible: "András Rutkai"        # Optional
            responsible_email: email@domain.com # Optional
        feature_id_2:
            enabled: false
            expiration: ~   # no expiration
            responsible: ~  # no responsible

```

### Twig

[](#twig)

```
{% if feature_enabled("feature_id") %}
    ...
{% endif %}

```

Twig functions:

- `feature_enabled('feature_id')`
- `has_feature('feature_id')`

### Controller or services

[](#controller-or-services)

```
$featureManager = $this->get('feature.manager');
if ($featureManager->isEnabled("feature_id"))
    ...

```

Feature manager functions:

- `$featureManager->isEnabled('feature_id')`
- `$featureManager->hasFeature('feature_id')`
- `$featureManager->getFeature('feature_id')`
- `$featureManager->addFeature($feature)` where `$feature` implements `FeatureInterface`

Roadmap
-------

[](#roadmap)

- 1.0.0: YML/XML based configuration, notifications using e-mail
- 1.1.0: Doctrine backend for storing features
- 1.2.0: Redis backend for storing features

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~36 days

Total

2

Last Release

4080d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/461479a0dc2a72fcdd6d3aab7072c9dcd813a748526eabd9aacb55d8498d67db?d=identicon)[riskawarrior](/maintainers/riskawarrior)

---

Top Contributors

[![rutkai](https://avatars.githubusercontent.com/u/1587720?v=4)](https://github.com/rutkai "rutkai (9 commits)")

---

Tags

feature togglefeature flipperfeature togglingfeature flipping

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rutkai-featureflipperbundle/health.svg)

```
[![Health](https://phpackages.com/badges/rutkai-featureflipperbundle/health.svg)](https://phpackages.com/packages/rutkai-featureflipperbundle)
```

###  Alternatives

[symplify/monorepo-builder

Not only Composer tools to build a Monorepo.

5205.3M82](/packages/symplify-monorepo-builder)[netgen/layouts-core

Netgen Layouts enables you to build and manage complex web pages in a simpler way and with less coding. This is the core of Netgen Layouts, its heart and soul.

3689.4k10](/packages/netgen-layouts-core)[codefog/contao-haste

haste extension for Contao Open Source CMS

42650.8k139](/packages/codefog-contao-haste)[netgen/content-browser

Netgen Content Browser is a Symfony bundle that provides an interface which selects items from any kind of backend and returns the IDs of selected items back to the calling code.

14112.1k8](/packages/netgen-content-browser)[spomky-labs/pwa-bundle

Progressive Web App Manifest Generator Bundle for Symfony.

6144.4k1](/packages/spomky-labs-pwa-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
