Zend Framework- Coming soon to a Command Line near You!

p. We’ve gotten a lot of feedback since the 1.0 release of Zend Framework in June. Our developers have come to love the power and flexibility of our framework, which has dramatically simplified hundreds of projects ranging from the rich interfaces of fledgling Web 2.0 businesses to integration with legacy systems in the enterprise.

p. Some developers, however, have been looking for a little more guidance on best practices for project structure, convenience, and a shorter time-to-Hello-World (TTHW) in Zend Framework. In fact, for many of today’s web developers it seems hard to believe that a framework could be worthy unless one can build a fully functioning Web 2.0 website with all the AJAX trimmings by the end of a 15-minute demo (with time left for questions, of course). While we remain skeptical of the enduring value of such applications outside of the conference room the demo is held in, we appreciate the educational value and satisfaction in low TTHW that come along with code generation. So, without further adieu, it is my pleasure to announce that Zend Framework 1.5 will include a robust, powerful, and- yes- 15-minute-demo-enabled command line interface for code generation!

p. The biggest challenge we faced in the design of this component was providing an interface that worked well without forcing a set of strict conventions down ZF developers’ throats. We understand that 80% of Zend Framework projects might be well served by a single project structure, and- rest assured- we will provide our recommended structure as a default with 1.5. We’ll even set it up so that the default will be used transparently to provide the ease of use that developers have come to expect from other ‘next generation’ frameworks. But we also don’t want to leave the other 20% out in the cold. For the developers with project requirements that call for a different structure, we have created the concept of an ‘application profile’. Developers can use one of several application profiles that will shipwith Zend Framework 1.5, alter one of these profiles to fit their needs, or create their own profiles from scratch. Regardless of how the best application profile is chosen or built, Zend Framework will still know how to generate code for any application using this profile and put it in the right place. That’s right! Now you can have your cake and eat it too![1]

p. The command line interface project is divided in to 3 separate Zend Framework proposals:

*(disc) “Zend_Console”:http://framework.zend.com/wiki/display/ZFPROP/Zend_Console+-+Wil+Sinclair
* “Zend_Build”:http://framework.zend.com/wiki/display/ZFPROP/Zend_Build+-+Wil+Sinclair
* “Zend_Build for Core”:http://framework.zend.com/wiki/display/ZFPROP/Zend_Build+for+Core+-+Wil+Sinclair

“Zend_Build_Script”:http://framework.zend.com/wiki/display/ZFPROP/Zend_Build_Script+-+Wil+Sinclair is a related proposal that aims to deliver a simple and powerful build system to the PHP community. You might have noticed that the proposals above haven’t been approved for core yet- there is still an opportunity to make your opinions known before the components are finalized for inclusion in 1.5! And if you’re a component developer, you’ll want to get a head start on using this new command line interface to put a convenient command line interface on your own components.

[1] Any resemblance to frameworks both active and inactive is purely co-incidental.