18. October, 2007

Generate PHP applications with PHPMaker

Filed under: Web Authoring — frightanic @ 00:57

This blog now resides at It will be discontinued here…

You: Generating PHP applications? You mean developing?

I: No, I mean generating. As in using a GUI-controlled generator to define your application. As in no need to touch scripting code. For real.

If I were a software sales person you’d have to be reluctant taking my statements at face value. But I’m not; I’m a software engineer.

A few weeks ago I was on the hunt for PHP generators that can be fed with a MySQL data model. I found several – some even open source. I installed all of them and played around a bit with all of them. The only one that really impressed me was PHPMaker. The Hongkong-based company behind it really seems to understand the code-generation business. They offer a whole range of generators for various programming languages.

So, I started putting together a small intranet application for my brother with the almost fully functional PHPMaker evaluation version. The tool didn’t let me down; not at all. I kept discovering new features constantly. And the generated PHP code is of decent quality, not just some spaghetti rubbish. My brother was impressed how quickly I was able to produce the desired features. However, he was even more impressed how quickly I was able to respond to new requests. You want to see how the application looks if we change this or do that? Hang on…I change the setting…I generate the files…I upload them to the web server…go, give it a try. Feedback cycles are extremely short that way. It’s a matter of seconds or minutes.

The best of all? The tool only costs $99! That’s nothing compared to the hours of PHP hacking you’d have to invest otherwise. Check out the full feature catalog and the demo at

As with most tools there are few issues and missing features. The issues with PHPMaker are tiny, it’s very mature. The major missing feature is a decent multi-language support for the generated application. The default language is English. If you need a different language you need to translate all labels in a XML file that is part of a ZIP file that contains the template and you need to generate the application separatly for each language/template. Others have complained about this before: Mac users watch out, PHP maker only runs on Windows!


Blog at

%d bloggers like this: