private function loadSource($source, Mustache_Cache $cache = null)
    {
        $className = $this->getTemplateClassName($source);

        if (!isset($this->templates[$className])) {
            if ($cache === null) {
                $cache = $this->getCache();
            }

            if (!class_exists($className, false)) {
                if (!$cache->load($className)) {
                    $compiled = $this->compile($source);
                    $cache->cache($className, $compiled);
                }
            }

            $this->log(
                Mustache_Logger::DEBUG,
                'Instantiating template: "{className}"',
                array('className' => $className)
            );

            $this->templates[$className] = new $className($this);
        }

        return $this->templates[$className];
    }
private function loadSource($source, Mustache_Cache $cache = null)
    {
        $className = $this->getTemplateClassName($source);

        if (!isset($this->templates[$className])) {
            if ($cache === null) {
                $cache = $this->getCache();
            }

            if (!class_exists($className, false)) {
                if (!$cache->load($className)) {
                    $compiled = $this->compile($source);
                    $cache->cache($className, $compiled);
                }
            }

            $this->log(
                Mustache_Logger::DEBUG,
                'Instantiating template: "{className}"',
                array('className' => $className)
            );

            $this->templates[$className] = new $className($this);
        }

        return $this->templates[$className];
    }
private function loadSource ( $ source , Mustache_Cache $ cache = null ) { $ className = $ this -> getTemplateClassName ( $ source ) ; if ( ! isset ( $ this -> templates [ $ className ] ) ) { if ( $ cache === null ) { $ cache = $ this -> getCache ( ) ; } if ( ! class_exists ( $ className , false ) ) { if ( ! $ cache -> load ( $ className ) ) { $ compiled = $ this -> compile ( $ source ) ; $ cache -> cache ( $ className , $ compiled ) ; } } $ this -> log ( Mustache_Logger :: DEBUG , 'Instantiating template: "{className}"' , array ( 'className' => $ className ) ) ; $ this -> templates [ $ className ] = new $ className ( $ this ) ; } return $ this -> templates [ $ className ] ; }
Instantiate and return a Mustache Template instance by source.

Optionally provide a Mustache_Cache instance. This is used internally by Mustache_Engine::loadLambda to respect
the 'cache_lambda_templates' configuration option.

@see Mustache_Engine::loadTemplate
@see Mustache_Engine::loadPartial
@see Mustache_Engine::loadLambda

@param string|Mustache_Source $source
@param Mustache_Cache         $cache  (default: null)

@return Mustache_Template
Instantiate and return a Mustache Template instance by source .