HomePHP Page 4 - Template-Based Web Development With patTemplate (part 1)
Slice And Dice - PHP
Most PHP-based Web sites are a mush of intermingled HTMLmarkupand PHP function calls, making them hard to decipher and maintain. Butthere *is* a simpler way - using templates to separate layout frombusinesslogic. This article shows you how.
It's also possible to split a single page into smaller, modular templates, and link these templates together to create new and interesting shapes and patters. Take a look at how this might be accomplished:
In this case, I have three different templates, one each for
the page header, body and footer. I also have a fourth template, this one merely containing links to the remaining three templates. When patTemplate parses this container template, it will find and follow the links to the other templates, parse them and display them.
Here's the script which does all the work:
<?php
// include the class
include("include/patTemplate.php");
// initialize an object of the class
$template = new patTemplate();
// set template location
$template->setBasedir("templates");
// set name of template file
$template->readTemplatesFromFile("music.tmpl");
// assign values to template variables
$template->AddVar("footer", "COPYRIGHT", "This material copyright
Melonfire, " . date("Y", mktime()));
// parse and display the template
$template->DisplayParsedTemplate("main");
?>
As you can see, it's almost identical to the one on the
previous page - which only serves to demonstrate how transparent and simple the process of linking templates together is.
Here's what the output looks like:
If you have a Web page which consists of many individual pieces, you'll find this ability to create independent, modular templates immensely valuable - and once you start using it, you'll wonder how you ever worked without it!