PHP Magazine August-September issue (04.04),id,204,nodeid,112.html
If you run an online business with a global reach, then Geopositioning is a technology you cannot afford to ignore. GeoIP is gaining prominence in today's Internet marketplace -- be it the need to smoke out credit card frauds, precisely target a potential customer (to the last granular detail), or embark on geography﷓specific advertising. In our Cover Story, Robert Peake attempts to find that space behind cyberspace, using Geopositioning techniques in PHP.

Starting this issue, Amy Hoy begins her column for the novitiates - in the first in a series that aims to help you to get your first steps right, Beginner's Ahoy! will show you how to create organized code. Remember Richard Davey's article on organized code written from the particular perspective of using open source software (Issue 03.04, International PHP Magazine)? If that article showed you how to gain a better understanding of the overall quality of a PHP script, then this column will take you further by putting you through an Organized Code Bootcamp.

There have been many discussions on how state detection and management can be facilitated through the use of session variables, but very few that discuses alternatives. Well, Matthew Perkins does just that - his suggestions on creating well-designed, multi-state search wizards that use a single PHP script, will go a long way in helping you create well-encapsulated code with reduced redundancy, low maintenance costs, and high flexibility.

These days, it's all about Web applications integrating perfectly into a heterogeneous environment of legacy applications and off-the-shelf software components, and PEAR's LiveUser package is an invaluable tool in this world of Web apps. In his article, Lukas Smith dissects PEAR::LiveUser, expounding on its architecture and its out-of-the-box functionality.

Hans Lellelid's article works backwards - in the last issue (Issue 03.04, International PHP Magazine) Hans showed us how Phing can help handle complex installation or build procedures. He later told us that it was the need to have a PHP 5 build system for Propel, an exciting new PHP 5 application, which got him involved with Phing development. So, what better a follow-up? In this issue, he talks about Propel, an object﷓relational mapping tool that lets you stop worrying about (and writing) SQL statements and lets you access your database using the language feature of PHP you like best: objects.

Harry Fuecks talks about how XML can be used to simplify the process of building desktop and Web-based UIs. In the first of this two-part series, he explores how declarative XML markup can be used to simplify the job of building desktop GUIs. Despite the incredible number of PHP functions tailored to Web development and the wide availability of free code, creating a Web application is still a labour intensive task.

Also in this issue, Daniel Convissor presents an overview of the sweet new features in the PEAR DB 1.6.x releases, which focus on portability, allowing you to write applications that can be used with a wide variety of database back-ends.

For a full list of the articles in Issue 04.04, go here:,id,204,nodeid,112.html