I'm a little fuzzy on some of the PHP implementation details for some stuff. In PHP (5 <= phpversion() < 5.3), I'd like a configuration class which can only effectively be instantiated once. Will the following code do this? Any other suggestions or corrections? (Code is untested. Feel free to complain about syntax.) class config { private static $cfg; // Initializes the configuration from main config file function __construct() { if (!is_array(self::$cfg)) { if (defined('CFGFILE')) { include(CFGFILE); self::$cfg = $config; } else self::$cfg = array(); } } // Returns a config item or null if not found function item($index) { if (array_key_exists($index, self::$cfg)) return self::$cfg[$index]; else return null; } // Sets a config item, optionally overwriting. // Returns true on success, false on failure. function set($index, $value, $overwrite = true) { $write = false; if (array_key_exists($index, self::$cfg) and $overwrite) $write = true; elseif (!array_key_exists($index, self::$cfg)) $write = true; if ($write) { self::$cfg[$index] = $value; return true; } else return false; } }; Paul -- Paul M. Foster -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php