Calling Member Objects Directly
-----------------------------------------------------------------------

	If we have an object inside an object, such as

		class foo_class
		{
			var $bar = new bar_class;
		}
	
		$foo = new foo_class;

	if you wish to access $bar, you must use

		$foo->bar

	This is the only time that we agree to let you access a data
	member of a class directly.

	Why?  Because in PHP4, you cannot write a get() function to
	return $bar

		function getBar ()
		{
			return $this->bar;
		}

		$pah = $foo->getBar();

	What this does is return a COPY of $bar.  Any changes made to
	$foo->bar are not picked up by $pah, and vice versa.

Class Methods
-----------------------------------------------------------------------

	We try to make class methods behave much the same from class
	to class.

	do<something>()
		These methods will perform some behaviour.

		These methods will return true if successful, or false
		if there was an error.

		EXAMPLE

		$l_oTemplate->doLoadTemplate("index.html");

	get<something>()
		These methods will return the value of a variable stored
		within the class.

		For each get() method, there will be a corresponding
		set() method.

		EXAMPLE

		$l_szDB = $l_oCache->getValue("DB_HOST");

	is<something>()
		These methods are provide a way of checking on the state
		of the class.

		These methods return true or false.  true is returned so
		that

			if ($class->is<something>() == true)

		make sense when read by a human.

	set<something>()
		These methods will set the value of a variable stored
		within the class.

		These methods return true if successful, or false if
		there is an error.

		For each set() method, there will be a corresponding
		get() method.

		
Function Call Tracing
-----------------------------------------------------------------------

	To help you write robust, quality applications, all functions in
	the Generic PHP Framework include code to generate a function
	call trace.

	Example Code
	------------

	function foo ()
	{
		$fn = "foo()";
		$this->doFuncStart($fn);

		...

		return $this->doFuncEnd($fn);
	}

	How It Works
	------------

	Every class is derived from gpfr_utils_errbase.  This class provides
	two methods to support function tracing:

		gpfr_utils_errbase::doFuncStart(function-name)
		gpfr_utils_errbase::doFuncEnd(function-name)

	Both functions log an event, to record that a function has been
	entered or exited.

	Additionally, doFuncEnd() will return 'true' if the last logged error
	was E_NONE, and 'false' otherwise.
		
Naming Conventions
-----------------------------------------------------------------------

	We try to follow a naming convention for all classes, variables,
	and methods.  This helps make the code more readable, and easier
	to pick up.

	
