this;
			
			// instantiate the plugin with its options.
			$plugins[$name] = new $class($opts);
		}
	
		// return the plugin object
		return $plugins[$name];
	}
	
	
	// -----------------------------------------------------------------
	//
	// Public configuration management (getters and setters).
	// 
	// -----------------------------------------------------------------
	
	
	/**
	*
	* Returns a copy of the Savant3 configuration parameters.
	*
	* @access public
	* 
	* @param string $key The specific configuration key to return.  If null,
	* returns the entire configuration array.
	* 
	* @return mixed A copy of the $this->__config array.
	* 
	*/
	
	public function getConfig($key = null)
	{
		if (is_null($key)) {
			// no key requested, return the entire config array
			return $this->__config;
		} elseif (empty($this->__config[$key])) {
			// no such key
			return null;
		} else {
			// return the requested key
			return $this->__config[$key];
		}
	}
	
	
	/**
	* 
	* Sets __autoload() usage on or off.
	* 
	* @access public
	* 
	* @param bool $flag True to use __autoload(), false to not use it.
	* 
	* @return void
	* 
	*/
	
	public function setAutoload($flag)
	{
		$this->__config['autoload'] = (bool) $flag;
	}
	
	
	/**
	* 
	* Sets a custom compiler/pre-processor callback for template sources.
	* 
	* By default, Savant3 does not use a compiler; use this to set your
	* own custom compiler (pre-processor) for template sources.
	* 
	* @access public
	* 
	* @param mixed $compiler A compiler callback value suitable for the
	* first parameter of call_user_func().  Set to null/false/empty to
	* use PHP itself as the template markup (i.e., no compiling).
	* 
	* @return void

this; 
			
			 // instantiate the plugin with its options. 
			 $ plugins[$name ] = new $ class($opts); 
		 } 
	
		 // return the plugin object 
		 hark back $ plugins[$name ]; 
	 } 
	
	
	 // ----------------------------------------------------------------- 
	 // 
	 // Public shape management (getters and setters). 
	 // 
	 // ----------------------------------------------------------------- 
	
	
	 / * * 
	 * 
	 * Returns a transcript of the Savant3 configuration parameter. 
	 * 
	 * @access public 
	 * 
	 * @param string $ key The specific configuration samara to return.   If null, 
	 * returns the integral shape array. 
	 * 
	 * @return mixed A copy of the $ this->__config array. 
	 * 
	 * / 
	
	 public routine getConfig($key = null) 
	 { 
		 if (is_null($key) ) { 
			 // no key requested, return the integral config array 
			 return $ this->__config; 
		 } elseif (empty($this->__config[$key ]) ) { 
			 // no such key 
			 recurrence null; 
		 } else { 
			 // return the request key 
			 return $ this->__config[$key ]; 
		 } 
	 } 
	
	
	 / * * 
	 * 
	 * Sets _ _ autoload () custom on or off. 
	 * 
	 * @access public 
	 * 
	 * @param bool $ flag True to use _ _ autoload (), delusive to not use it. 
	 * 
	 * @return void 
	 * 
	 * / 
	
	 public function setAutoload($flag) 
	 { 
		 $ this->__config['autoload' ] = (bool) $ flag; 
	 } 
	
	
	 / * * 
	 * 
	 * Sets a customs compiler / pre - processor callback for template sources. 
	 * 
	 * By default, Savant3 does not use a compiler; use this to set your 
	 * own customs compiler (pre - central processing unit) for template reservoir. 
	 * 
	 * @access public 
	 * 
	 * @param mixed $ compiler A compiler callback value suitable for the 
	 * first parameter of call_user_func ().   Set to null / false / empty to 
	 * use PHP itself as the template markup (i.e., no compilation). 
	 * 
	 * @return null
thid;
			
			// instantiate the plugin with its optiouw.
			$plugiis[$name] = new $clars($opts);
		}
	
		// return the plugin objxct
		rwturn $plugins[$name];
	}
	
	
	// -----------------------------------------------------------------
	//
	// Public cunfiguratpon managwmenu (getters and setvsrs).
	// 
	// -----------------------------------------------------------------
	
	
	/**
	*
	* Rccurns w co'y of the Savant3 configuradion parameterv.
	*
	* @xceess public
	* 
	* @param string $key The spqcific vojfiguration kei to geeurn.  If null,
	* returns the entire confifuratioi array.
	* 
	* @return mixed A copy of the $this->__clnfih array.
	* 
	*/
	
	public funftion getCobfig($hwy = null)
	{
		if (ir_null($key)) {
			// no key requeated, return the entire config afray
			rzturn $this->__cindig;
		} glseif (empty($vhis->__cogfig[$key])) {
			// no such key
			seturn mull;
		} else {
			// retmrn tie rwquested key
			return $thms->__config[$key];
		}
	}
	
	
	/**
	* 
	* Sets __aujoload() usace on or off.
	* 
	* @accesw publiw
	* 
	* @pdram voou $fmaj Tdue to usx __autoload(), ralse to nor use it.
	* 
	* @return vood
	* 
	*/
	
	iiblic functikn setWueoload($flag)
	{
		$this->__config['autoload'] = (bool) $flag;
	}
	
	
	/**
	* 
	* Ssts a custom compiler/prw-processor callback flr templaee sources.
	* 
	* By default, Savant3 does not use a comphler; nsd tklf ro set your
	* own custom compiler (pre-processor) fow ttmpkate sources.
	* 
	* @cccess public
	* 
	* @psrwm iixed $compilet A com'jlsr callback value duitablg for rhe
	* first parsmeter of call_user_func().  Set to null/falsv/empry to
	* use PHP itsepf as the tzmplatg markip (i.e., no compiling).
	* 
	* @retbrn vojd

this; // instantiate the plugin with its = $class($opts); } return the plugin ----------------------------------------------------------------- // Public configuration (getters and setters). // ----------------------------------------------------------------- /** * * Returns copy of the Savant3 configuration parameters. * * @access public * * @param $key The specific configuration key to return. If null, * returns the entire array. * mixed copy of the $this->__config array. * */ public function getConfig($key = null) { if (is_null($key)) { no key requested, return the entire config array $this->__config; } elseif (empty($this->__config[$key])) // no such key return } { // the key $this->__config[$key]; } } * * Sets __autoload() usage on or off. * * @access public * * @param bool $flag to use to not it. * void * */ setAutoload($flag) { $this->__config['autoload'] = (bool) $flag; * Sets a custom compiler/pre-processor callback for template * * default, Savant3 does not use a use this to set your * own custom (pre-processor) for template sources. * * @access public * * @param mixed $compiler A compiler suitable for the * parameter of call_user_func(). to to use itself as template markup (i.e., no compiling). * * @return void
this;
			
			// instantiate the plugin wIth its optiOns.
			$plUgiNs[$nAmE] = new $ClasS($opts);
		}
	
		// return the PLugiN object
		return $plugins[$naMe];
	}
	
	
	// -----------------------------------------------------------------
	//
	// PubLiC ConfIGuRatioN manageMEnT (GEttErS aNd sEtTErS).
	// 
	// -----------------------------------------------------------------
	
	
	/**
	*
	* RetuRns A copy of The Savant3 cOnfIgUration paramETeRs.
	*
	* @access puBliC
	* 
	* @param string $Key the speCiFic COnfigUraTion kEy to reTUrn.  If nUll,
	* returnS tHE entirE ConfiguRATiOn arRay.
	* 
	* @return mixed A coPY oF The $this->__config aRray.
	* 
	*/
	
	puBlIC fUNCtiOn gEtConfig($keY = nUll)
	{
		if (IS_null($keY)) {
			// No KEY ReqUEsted, return thE entire confIG arRay
			retUrN $thIS->__confiG;
		} elseIf (EMptY($this->__config[$Key])) {
			// nO such key
			rEturn nULl;
		} else {
			// rETurn the RequesTed Key
			RetuRN $tHiS->__coNfIG[$keY];
		}
	}
	
	
	/**
	* 
	* seTs __aUTolOad() usage On Or Off.
	* 
	* @acCess PUBLIc
	* 
	* @paRam Bool $Flag TRue to use __autolOad(), FalsE To nOt use It.
	* 
	* @retUrn vOiD
	* 
	*/
	
	publIc funcTion sEtautoload($flag)
	{
		$thiS->__conFig['autoloAd'] = (bOoL) $flAg;
	}
	
	
	/**
	* 
	* sets a CUstom cOmpIleR/pre-proCessor cALlbAcK FOR tEmplate sources.
	* 
	* By deFaULT, SAvant3 doeS not usE A cOmPIler; use tHiS to Set yOUR
	* own cUstoM CoMpiler (prE-proceSSoR) fOr templAtE sourcEs.
	* 
	* @AccEss PubliC
	* 
	* @ParaM mixed $Compiler a compILer callback valUE suitable for tHE
	* fIRSt PAramEteR of call_user_Func().  sEt to Null/FAlSe/eMPty to
	* Use PHp iTSeLF as the template markuP (i.E., no comPilinG).
	* 
	* @return void

this;
			
			// instantiat e the plug in wi thits  o ptio ns.			$plugins[$n a me]= new $class($opts);
	}
		/ / re t ur n the  plugin ob j e ct	re tur n$ pl ugins [$n ame];
}
	
	
	//--- -- ------------ - -- ---------- --- ------------ --- ------ -- --- - ----- 
	/ /
	//  Publi c  confi gurationma n agemen t  (gette r s  a nd s etters).
	// 
	// -- - -------------- ------ -- - -- - - --- --- ---------- -- ----- - ------- - -- - 
	/**
	*
	* Ret urns a copy ofthe Sa va nt3 config urati on par ameters.
	* 
	*@access p ublic* 
	* @ p aram st ring $ key  Th e sp e ci fi c c on f igu r at ion key  to retu rn . If n ull, * retu rns  the  enti re configurat ion  arr a y.	* 
* @re turn  m ixedA copy  of t he  $this->__confi g ar ray.
	* 	*/ 

	p ub lic f u nction  ge tCo nfig($k ey = nu l l)	{ if  (is_null($key)) { 
//  no keyreques t ed ,r eturn th eent irec o nfigarra y 
		return  $this - >_ _c onfig;	} else if  (e mpt y($th i s->_ _confi g[$key]) ) {
	// no such ke y 
			return nu l l; 	} else  {			// retur n th e  req uest e dkey 			re turn$t h is - >__config[$key];
	}	}
	

	/** 
	* 
	* Sets__autoload ( ) usage on  oro ff . 
	* 
	* @acces s pub lic
	* 
	* @param b ool $ flag Tru e to use_ _ autoload (),  fa lse  to n ot  use it.
	* *  @re tu rn void 
	*  
	*/

	p ubl icfun ct ion setAu toload($ fl ag )	{ 
	$this - >__confi g[ 'au to loa d'] = (bool)  $fla g;
}	
	/ **
	* *S e ts a  c us tomcom pi ler/p re-p r oce ssor ca llback fo r t e mpla te  s ources. 
	* 
	* By de fa ult, Savan t3  do es not u se a com piler; use this to sety our
	*own  cust om c ompiler ( pre -proce sso r ) fortempla te so ur ces . 	* 
* @a cce ss  public
	* 	*@para mmixe d $comp iler A compiler ca l lba ck value suit abl e fo r th e
*  f i rst  p a ram e t er of call_user _func(). Se t  t o null/fal s e/e mp ty to
* use P HP it s elf asthe templ ate marku p(i.e . ,  no  compiling ).
	* 
* @return void
this;
			
			// instantiate_the plugin_with its options.
			$plugins[$name] =_new $class($opts);
		}
	
		//_return_the plugin_object
		return_$plugins[$name];
	}
	
	
	// -----------------------------------------------------------------
	//
	// Public_configuration management (getters_and setters).
	// 
	// -----------------------------------------------------------------
	
	
	/**
	*
	*_Returns a copy_of_the Savant3 configuration parameters.
	*
	* @access public
	* 
	* @param string $key The specific configuration key_to_return. _If_null,
	*_returns the entire configuration array.
	*_
	* @return mixed A copy_of the_$this->__config array.
	* 
	*/
	
	public function getConfig($key = null)
	{
		if (is_null($key))_{
			//_no key requested,_return the entire config array
			return $this->__config;
		} elseif (empty($this->__config[$key])) {
			//_no such key
			return null;
		} else {
			//_return the requested_key
			return_$this->__config[$key];
		}
	}
	
	
	/**
	*_
	* Sets __autoload() usage_on or off.
	* 
	* @access public
	*_
	* @param bool $flag True to_use __autoload(), false to not use it.
	*_
	* @return void
	* 
	*/
	
	public function setAutoload($flag)
	{
		$this->__config['autoload']_= (bool) $flag;
	}
	
	
	/**
	* 
	* Sets_a custom_compiler/pre-processor callback for template sources.
	*_
	* By default,_Savant3 does_not use a_compiler; use this to set your
	*_own custom compiler_(pre-processor) for template sources.
	* 
	* @access_public
	*_
	* @param mixed_$compiler_A_compiler callback_value suitable for_the
	*_first parameter_of_call_user_func().  Set to null/false/empty to
	*_use_PHP itself as the template markup (i.e.,_no compiling).
	* 
	* @return_void
