Easy Application Configuration With patConfiguration - Cache Cow (
Page 10 of 11 )
Normally, patConfiguration parses your XML configuration file every time you need
to load configuration data; this is expensive, in terms of both time and processor
cycles. In these situations, you can obtain a performance improvement by using
patConfiguration's built-in cache, which uses a serialized representation of the
XML data to speed up load time.
Using a cache is pretty easy - consider the following example, which demonstrates
how:
<?
// include class
require("patConfiguration.php");
// create patConfiguration
object
$conf = new patConfiguration;
// set config file locations
$conf->setConfigDir("config");
//
set cache locations
$conf->setCacheDir("cache");
// read config file
$conf->loadCachedConfig("config.xml");
//
get configuration values
print_r($conf->getConfigValue("application.version"));
?>
Using the cache is thus simply a matter of setting a cache directory and using
the loadCachedConfig() method instead of the parseConfigFile() method. If the
file does not already exist in the cache, patConfiguration will locate it, read
and serialize it, and use the serialized version in all subsequent calls. When
the data in the original file changes, this change is detected by patConfiguration
and the cache is updated with the new data.
Finally, patConfiguration also comes with a number of extensions to simplify
integration with, and configuration of, other pat classes - extensions are currently
available for the patTemplate, patUser and patDbc classes, and the source distribution
comes with numerous examples of how they may be used. I'm not going to get into
the details here, but you should certainly take a look at this once you're comfortable
with the basics of using patConfiguration.