Choosing A Commerical PHP Framework

One of the primary tasks my new J.O.B. requires is determining the development direction for a new SaaS product. On the surface it’s a relatively simple concept, capture client information send it off to a vendor via EDI formatted message and receive a result via the same. Process that result and do it again. On paper, it sounds simple. Why then has it been made to be so blasted complicated that several developers have worked on it and gotten nowhere?

Now that this puppy is mine to deal with I’m look at starting over from scratch. One thing I detest is picking up where someone else left off. Since we are primarily a PHP shop for our web development I’m comfortable staying in that arena, but like anything else, I don’t want to waste a bunch of time having to create what ultimately amounts to a framework to manage all the tedious things every app has to deal with (user management, security, session management, templating).

So I’ve spent a good deal of time looking at the various PHP frameworks out there but I’ve decided that only two are really worth the effort. Zend or Code Igniter. Zend is the obvious choice, because it’s less a framework than it is a collection of libraries. The major downside to Zend is obviously the learning curve and while CI that’s still an issue with CI, from what I can tell the curve isn’t quite as long as it is with Zend.

That said, Zend is most likely overkill for what I’m looking to build at the moment, but I also foresee a near term future that includes rebuilding some current fat client applications to be more web based thus requiring the need of multiple PHP programmers, as well as, I’m sure some requirement that the app I’m currently working on be able to integrate to some degree with that future.

The whole thought process here is the fact that I really am not a fan of any of the frameworks. However I also despise continually creating functions that do the same things over and over again. I also do not want to have to worry with maintaining a core framework myself. I’d much rather be able to just drop-in a module to update some functionality and not worry about having to build it myself. Plus, I like the idea of having a coding standard enforced on all developers, something else I despised from past endeavors. There’s also some concern over licensing, etc., with Zend there’s a high confidence that we’ll not run into any future legal issues, some of the other frameworks don’t give me that same warm and fuzzy.

So there’s my dilemma. Any thoughts on one vs the other? Rolling your own?