News Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Benjamin Eberlei:
Feature Flags and Doctrine Entities
December 06, 2013 @ 09:40:00

In a new post to his site Benjamin Eberlei takes a look at the idea of "feature flags" (settings to turn on and off major features) and how they can be used with Doctrine entities to handle sync issues between new properties and the database schema.

The problem of feature flags with Doctrine is easily explained: If you add properties for a new feature that is disabled in the Doctrine metadata, then you need to upgrade the database before deployment, even when the feature is not being rolled out for some days/weeks. Doctrine requires the database to look exactly like the metadata specifies it.

His solution was to use the "loadClassMetadata" event in the entity to dynamically append these new properties based on simple "if" checks of feature flags in the configuration object. Obviously using this is a bit of a hack until the new properties are in place, but once they are then the only change is removing this code.

0 comments voice your opinion now!
feature flag doctrine entities class metadata if check

Link: http://www.whitewashing.de/2013/12/05/feature_flags_and_doctrine_entities.html

blog comments powered by Disqus

Similar Posts

Richard Thomas's Blog: Pjq - PHP Jquery helper

Zend Developer Zone: Avoiding XSS security attacks to sites that use HTML editors

DevShed: Building an Image Generator Class with PHP 5

KillerPHP Blog: PHP Interfaces: when and why you should use them instead of classes?

Ruben Vermeersch's Blog: Integrating Zend Framework and Doctrine


Community Events





Don't see your event here?
Let us know!


refactor release code install api introduction list series community developer testing symfony2 laravel framework podcast language unittest opinion interview threedevsandamaybe

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework