php[architect] logo

Want to check out an issue? Sign up to receive a special offer.

php|architect – September 2007

Trend Spotting

Web applications aren’t very adept at recognizing suspiciousbehaviour on the part of their users. Unless, that is, we make ourapplications react a little more like people.—by Chris Shiflett

Parameter Passing Patterns

Parameter passing is an API design fundamental. Most of usare turned off by overly long function signatures, but what aboutthe role of enumerated values and flags? In this month’s TestPattern, I’ll take a look at the good, the bad and the ugly inparameter design.—by Jeff Moore


Today it is exactly three years ago since PHP 5 has beenreleased. In those three years it has seen many improvements overPHP 4. PHP 5 is fast, stable & production-ready and as PHP 6 ison the way, PHP 4 will be discontinued. (, 13 July2007)—by Jonathan Hibbard

Fishing for Complements: the stickleback plugin engine

There’s something compelling about a plugin. Just check outthe plugin repositories for your favourite open source blogsoftware or media player. How about taking things a stage furtherthough? How about making the heart of your application extensible?Did I hear you say the whole of your application? Noproblem‚Äîstickleback can help.—by Matt Zandstra

Normalization part 2: Japanese

There is a myth that PHP 4 and PHP 5 are not useful forworking with non-European languages. The mbstring extension candispel that myth; it offers support for any language supported byUnicode. In this, the second of a two-part series, I will introduce”the devil’s tongue” (as a frustrated missionary once termed it)and show you how you can use good old PHP 4 to achieve complexstring manipulation with Japanese.—by Darren Cook

Writing a Windows Service in PHP

PHP may have been designed for the Web, but it has a fewother, less well-known talents hidden up its sleeve. Whoever wouldhave thought you could use PHP for systems administration tasks?For everyone out there doing daily battle with Windows networks andC++ scripts, here’s a modest solution.—by Timothy Boronczyk