The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

PHP framework advice needed

I am on a team developing a web-based application. It is currently used in-house, but will soon be opened up to a small group of high-paying clients. It seems there is no clear winner in PHP frameworks, but I'm hoping folks on here more familiar with the features of the choices available might advise on what best suits us.

Our application is mostly interesting because of the data we have and the folks we have in-house to analyze it. The web interface is relatively simple right now: most of the complexity in our app is in the SQL we generate, not the interface itself (although that could change in time).

The person who developed our current framework was clearly not an experienced OOP programmer, so we've a fair number of reports with an awful lot of duplicated code. Nevertheless, they work, and we'd prefer not to rewrite them right now.

What we need is:

- a reasonably simple framework that will let us produce a bunch of reports without copying and pasting all the code to save out the state of the objects on the forms, connect those to the SQL and blah blah blah (adding a pair of radio buttons that governed the generation of one Boolean SQL condition recently involved adding code in 25 functions in 5 files)
- something that will make adding a reasonably rich security model to our app (with roles, accounts and reasonable security) as painless as is reasonable
- something that will let us use existing reports with minimal fuss; and
- something that will let us add new reports in a clean way, with nice OOP-based code reuse.

If it wasn't for the desire to add security, I'd just roll my own (our HTML generation and user interaction is pretty simple), but the security and the hope that we'd grow into a framework that made more sophisticated stuff possible soon makes me want to look for something canned.

So: what do y'all think about cake, lampshade, prado, wact, cocoon, smarty, phpsavant, drupal, ...
Guyren G Howe Send private email
Thursday, July 21, 2005
Well, I'd say that wanting a powerful framework is a sure sign that your time has come to consider switching from PHP.

If that isn't an option, usually the best is to use Smarty and a homegrown class library. Adding some DB wrapper is also a good idea, but I can't say that current efforts like PEAR::DB are generally worth using.

There's also PHP version of a cross-language framework called Fusebox. The catch is that it isn't OO and has some different (IMO, pretty weird) design philosophy. But I hear it's pretty established and used for large projects.
Thursday, July 21, 2005
dotProject is actually a Project Management Tool (I'm a core contributor), but we've seen lots of people using it as a framework for some other things.

Help ticket management
Hotel Management
Office/scheduling management

It's pretty flexible, the module interface is pretty straightfoward, and the permissions system is pretty extensive.
KC Send private email
Friday, July 22, 2005

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz