php[architect] logo

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

php|architect – October 2007

Optimizing into C++

We’ve all seen those language flame wars on forums andmailing lists across the Internet. Perl’s better than python, PHP’sbetter than Ruby, Java’s better than C++, and woe betide anyone whomentions .NET! Just for a change, let’s look at things from adifferent angle. Let’s talk about choosing the right tool for thejob.—by Darren Cook

Introducing mod_rewrite

mod_rewrite is perhaps the most powerful, and leastunderstood, module that comes with the Apache Web server. Further,as Web applications become more complex and the need for a simpleuser interface more important, mod_rewrite is getting more and moreuse. This seems a good time to show you how to work with it.—by Rich Bowen

XMLParser: Trawling the DOM

SimpleXML has made life much easier in PHP 5, but with manyISPs still stuck on PHP 4, there are all sorts of hoops thatdevelopers have to jump through to reliably parse XML documentswith PHP. Annoyed by those issues, I set off to write XMLParser: alibrary that brings PHP 5’s XML-parsing bliss to PHP 4. It’s helpedme a lot, and hopefully it might help you too!—by Adam Flynn

Building Vertical Market Applications with SugarCRM

In my experience, most vertical market applications use 80%of their development resources building standard CRM functionalityand only 20% on the rest. A smarter solution might be to distributeyour vertical market application along with SugarCRM, and focusyour development efforts on your specific line-of-businessrequirements instead—by Aspen Olmsted

Security Corner: File Inclusion

If you want to prevent an intrusion,
You should try to avoid file inclusion.
“Best use ”fread()””,
You will have to concede,
To stay quite clear of delusion!

As your security coach,
Here’s my recommended approach:
Let ”include” persist,
But use a whitelist
To stay quite clear of reproach.—by Simon Morris

/etc: RRDTool

Analyzing data can be tough. Outputting the analysis into aform that is actually useful to our end users is often its ownchallenge. On top of these problems, we also have to figure outmechanisms to properly collect data at the correct interval,determine an archival scheme, and aggregate multiple data sourcesinto consolidated output. I don’t know about you, but I have ahundred better things to do with my time than to deal with theseissues. Fortunately, for the most part, this is a solved problem.RRDTool to the rescue.—by Sean Coates