-
Dynamically Manage Models with Zend_CodeGenerator
Posted on January 19th, 2010 2 commentsThe holidays have passed and at last I’ve gotten enough of my obligations out of the way to begin to innovate on some new code as well as play with some of the new offerings in the latest versions of the Zend Framework. I’ve been most interested in particular with Zend_CodeGenerator since I have spent a lot of time in the last year writing boilerplate code for various projects. I find that the bulk of my time is spent prototyping models so I figured it would not be hard to build a model scaffolding script not unlike the ‘rake’ command in ruby on rails and similar commandline tools offered by the many application platforms out there. Rather than killing my wrists pounding out models, their various attributes and associated mutators/accessors, I decided that my time would be more efficiently spent describing my models using a short hand format (preferably xml) and then having a script translate that into actual classes and files. The Doctrine ORM allows you do this very thing translating YAML into Doctrine Models. This was very interesting to me but I chose to take it a step further and have it build all of my Domain Model infrastructure while it was at it (This includes the models, the gateway classes, and the DAO classes).
Read Entire Article
Development, Doctrine, PHP, Zend Framework Doctrine, models, php, scaffolding, scripts, xml, Zend FrameworkRelated Topics
-
Domain Model ORM Adapters
Posted on November 24th, 2009 1 commento I’ve had a series of articles that focus on domain model programming methodologies and most of my examples have demonstrated implementations using the Doctrine ORM (Object Relational Mapper). Given the nature of domain model programming I’ve held to the assertion that models built using this method are truly ORM agnostic and it should be effortless to swap out Doctrine for the ORM of your choice. Well I like to put my money where my mouth is by showing how easily this has been done by showing off adapters that I have written, one for Doctrine, and the other for Zend_Db. The beauty of this system is that both support the same ORM agnostic query syntax demonstrated in my recent post about creating complex sql queries using associative arrays. This means that no modifications are necessary in the models, controllers or views when switching ORMs. Developer’s utopia.
Read Entire Article
Development, Doctrine, PHP, Zend Framework Design Patterns, Doctrine, Domain Model Programming, ORM, SQL, Zend FrameworkRelated Topics
-
Doctrine, Complex SQL Queries, and Paginators
Posted on October 7th, 2009 1 comment
Read Entire Article
In my efforts to build web applications using domain model programming I’ve encountered some interesting technical hurdles for keeping my implementation details away from my models. The most problematic issue that has come up time and time again has been that of using paginators. It’s very difficult to keep your paginator class in the dark about database implementation details and have it be able to handle complex use cases. Over the last few months I have slowly evolved a sophisticated way to describe a complex sql query using nothing more than an associative array which can be passed to a clueless paginator which talks to the database through a predefined interface to a model gateway. Yeah the mad scientist is me because that’s how I felt when I looked back on the pure genius of this method.
Development, Doctrine, PHP, Zend Framework Doctrine, Domain Model, DRY, Pagination, php, SQL, Zend FrameworkRelated Topics
-
eROI releases Moonit into the wild
Posted on September 14th, 2009 2 commentsAfter months of development, and over a year of brainstorming, Moonit LLC unveiled moonit.com at TechCrunch50 2009 today. As the primary back end developer for this site I felt compelled to be a huge cheerleader for this site as it is the latest example of the incredible talent of the developers, designers and managers at eroi. In [...]
Read Entire Article
-
Domain Model Programming With the Zend Framework
Posted on April 3rd, 2009 12 commentsEach application I write tends to be an evolutionary successor to the previous and I suspect this is the case for most developers. With long term projects one tends to find things that work better than others, and methods that end up being a real pain in the ass and not as scalable as hoped [...]
Read Entire Article


