Can Zend Framework do you a favor? Does it taste different flavour? If you ask me, the answer is yes.
As Zend Framework (ZF) is on its steady pace to the first stable release, more and more applications are [being] developed on ZF. This is also intriguing me to create some applications which are driven by ZF.
Fortunately, I was offered to create a system for managing final projects in my past department (it’s now recognized as School of Informatics and Electrical Engineering). Considering this as a perfect chance to show properly designed academic software and as a pilot project for other ZF-based applications, I took the opportunity and started developing the application.
Figure 1 Sample user’s frontend view
The application itself is mainly another CRUD application with some remote calls to fetch academic data located at different servers. The remote call API is customized to suit the department’s need. Currently it still relies on POST and GET based supplied parameters. However, it’s likely a custom XML API will be developed to handle the web service.
Zend_Db is used to handle database transaction. With its robust capabilities, there is not much problem dealing with several databases. The PDO driver is quite stable, although for some -add technical statement here- reasons, it doesn’t work very well for many-to-many relationships.
The extended Zend_View is used to handle the view layer. With its ability to handle pure php templates, there won’t be any need to do double parsing (ie. template variable parsing and the php code itself). This means, there is no additional time needed to learn how the template works, how to set variables, loops, etc which is usually more headache for some developers. The execution time is also lesser than average template engine libraries (still need more tests about this statement).
Figure 2 The template code snippet
With the use of Router from the Zend_Controller, and its regex feature, a nice url can be automatically generated. More time is saved to create hacks for SEO-friendly url like common application (without router) needs.
Figure 3 The controller Code snippet
The Zend_Http simplifies HTTP calls. Zend_Acl simplifies the ACL creation for frontend and backend users. Zend_Session helps a lot in the session management.
The application is still on the beta phase. As soon as ZF 1.0 is released, it will be upgraded and more features will be added like AJAX integration and advanced security check.
Aren’t you interested in building your first ZF application? Try it. It’s fun. Perhaps, you’ll later find, it also suits your corporate environment.