public static function getCached($function)
    {
        $returnValue = null;

        
		$args = func_get_args();
		array_shift($args);
        if (!is_string($function)){
            $r = new ReflectionFunction($function);
            $serial = md5(
              $r->getFileName().
              $r->getStartLine().
              serialize($args)
            );
        } else {
            $serial = md5($function.serialize($args));
        }
        if (static::singleton()->has($serial)) {
        	$returnValue = static::singleton()->has($serial);
        } else { 
	        $returnValue = call_user_func_array($fn, $args);
	        static::singleton()->put($serial, $returnValue);
        }
        

        return $returnValue;
    }
public static function getCached($function)
    {
        $returnValue = null;

        
		$args = func_get_args();
		array_shift($args);
        if (!is_string($function)){
            $r = new ReflectionFunction($function);
            $serial = md5(
              $r->getFileName().
              $r->getStartLine().
              serialize($args)
            );
        } else {
            $serial = md5($function.serialize($args));
        }
        if (static::singleton()->has($serial)) {
        	$returnValue = static::singleton()->has($serial);
        } else { 
	        $returnValue = call_user_func_array($fn, $args);
	        static::singleton()->put($serial, $returnValue);
        }
        

        return $returnValue;
    }
public static function getCached ( $ function ) { $ returnValue = null ; $ args = func_get_args ( ) ; array_shift ( $ args ) ; if ( ! is_string ( $ function ) ) { $ r = new ReflectionFunction ( $ function ) ; $ serial = md5 ( $ r -> getFileName ( ) . $ r -> getStartLine ( ) . serialize ( $ args ) ) ; } else { $ serial = md5 ( $ function . serialize ( $ args ) ) ; } if ( static :: singleton ( ) -> has ( $ serial ) ) { $ returnValue = static :: singleton ( ) -> has ( $ serial ) ; } else { $ returnValue = call_user_func_array ( $ fn , $ args ) ; static :: singleton ( ) -> put ( $ serial , $ returnValue ) ; } return $ returnValue ; }
Short description of method getCached

@access public
@author Joel Bout, <joel@taotesting.com>
@param  function
Short description of method getCached