php[architect] logo

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

php|architect — February 2010

Creating Custom CMS Solutions with Digitalus Framework

Digitalus Framework brings the project back to its roots. Out of the box, it is an uncomplicated CMS solution which is appropriate for small teams with straightforward workflow that are looking for a loosely-coupled framework for creating dynamic Zend Framework-based websites. There are many open source options that provide this, but it is the underlying architecture and extensibility that makes Digitalus stand out. —by Forrest Lyman

FaZend: Object Relational Mapping

FaZend is an open-source PHP framework and a continuous integration environment, which simplifies the development and maintenance of your web applications. FaZend is based on Zend Framework. Being one of the most powerful PHP frameworks, Zend Framework is very flexible and abstract. Very often, this flexibility leads to complexity in developed applications. This article explains how FaZend overcomes this drawback and makes the management of persistent data both fast and easy. —by Yegor Bugayenko

Managing Hierarchical Data in a CMS

As PHP programmers, we are frequently tasked with managing hierarchical data. Are you making the right choices?  We will examine three different approaches to this problem so that the next time you face this challenge, you will be confident in your solution. —by Ron Dobley

Building an Application in the Clouds

In the December 2009 issue of php|architect, I introduced the Windows Azure platform. The article covered the concepts and touched some code, but it did not cover how you would develop a scalable application for Windows Azure. About time we build an application in the clouds, no? In this article, I’ll take you along while I build an image hosting website that can host a gigantic amount of images without running into scalability problems. (Unless you know a way to fill 100% of Microsoft’s datacenters, that is.) —by Maarten Balliauw

Web-based Retrieval: Part II

When you attempt to retrieve the contents of a remote URL and PHP reacts sternly with E_WARNINGS about wrappers, you may truly despair. If only the messages provided assistance, the situation might be tolerable. Oh, the frustration! To paraphrase a line from Ruddigore (Gilbert and Sullivan), it could just make your hair curl! But, wait, herein may be the solution…curl!—by Sharon Levy

Security Roundup: Privacy? What Privacy?

Nowadays, people are sharing everything, but what happens to the data we share, and how private is private? —by Arne Blankerts

Drupal Corner: Setting Up Drupal on a VPS

Drupal sites are most effective when you run them on a VPS or dedicated server. Often times, though, setting up a server can be a pain. In this column, I wish to demonstrate a way to make this set up process and site creation easier, while allowing you the freedom to modify the server in the future when you find that module you just can’t live without. Using some simple scripts I have developed, we can set up an Ubuntu web server with a Drupal site in a matter of minutes. I will show you how and where to find them. —by Adrian Webb

exit(0): D is for Detail

If you are looking for another glimpse into the formative years of our own dear Marco, this column is not to be missed, and it even has a shining nugget of applicable truth, just to keep us honest. —by Marco Tabini

Responses and Pingbacks

Your new shop system still has a lot of kinks in it, doesn’t it? From the account->magazine view a click on this issue redirects to the 2003-02 one, a click on “purchase” here gives an error… Bit of a rush job?

Both are due to a change in the use of “feb” vs. “february” (visitors: change them in your urls an it will work). What still doesn’t work is paypal integration, apprently. Just as with the january issue I have a completed transaction, but phparch doesn’t allow me to download…

Hi Robert,
Thanks for the comment. No actually it was in development for several months. I’ll make sure someone takes a look at the problem though.


In article Managing Hierarchical Data in a CMS at Listing 5 on line:
$parentId = substr($itemPath,-3,1);
should be changed to:
$parentId = explode(“/”, $itemPath);
$parentId = $parentId[count($parentId) – 2];

Hi folk,
I found this website awesome. I get there from Zend framework(HTTP_REFERRER).The back link from ZF!!!

Managing Hierarchical Data in PHP-MYSQL as far as I know

There are two ways
1) Adjacency list model
2) Nested set model

When there are millions of Hierarchical records to be manipulated then one should use Nested set model.

Each of above has its own advantage and drawback.

If there are any other technique then i’m very curious to know that.

You will find more information about two model at


Sachin Pethani

PDF format looks awful on ebook, barely readable at all.
HTML would be nice, but at least reformat the PDF so we can scale it decently


It would be nice to introduce some kind of online errata page for your magazine subscribers. I noticed some mistakes / omissions in previous issues, and in the February issue (page 26) Figure 2 is wrong (it’s a duplicate of Figure 2 from a later article). You guys might benefit from a little QA!

On page 26 “Figure 2” is wrong, is it possible to get correct image?


Arbi Arzoumani on
July 15th, 2010 at 11:06 pm

Figure 2 on page 26 has now been fixed. Please download the latest PDF from the site to get the latest copy.

– A

pdf format is nice we can scale it decently..

Leave a comment

Use the form below to leave a comment: