News Feed
Jobs 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

Brian Moon's Blog: Wordcraft, a simple PHP blogging application

Brian Swan's Blog: How to Page Data with the SQL Server Drivers for PHP

Blue Parabola Blog: Magento Feature Analysis Series, Pt 13: Marketing Promotions & Tools Offering

International PHP Magzine: Poll Question: Which is the Most Powerful PHP Tool?

PHPBuilder.com: An Introduction to Graphs Using PEAR\'s Image_Graph Package


Community Events











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


component introduction database podcast application composer framework security opinion package hack language install release facebook symfony2 unittest series hhvm performance

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