public function render($template, array $data = [])
    {
        if (is_null($this->loader)) {
            return $this->renderString($template, $data);
        }

        if (! $this->loader->exists($template)) {
            $this->loader->failLoading($template .' not found');
        }

        $this->pushSharedData($data);

        $__tintin = $this;

        extract($this->getSharedData());

        /**
         * Load template when is not a cached file
         */
        if (! $this->loader->isExpirated($template)) {
            $this->obFlushAndStar();

            require $this->loader->getCacheFileResolvedPath($template);
            
            return $this->obGetContent();
        }

        /**
         * Put the template into cache
         */
        $content = $this->loader->getFileContent($template);

        $this->loader->cache(
            $template,
            $this->compiler->compile($content)
        );

        $this->obFlushAndStar();

        require $this->loader->getCacheFileResolvedPath($template);

        return $this->obGetContent();
    }
public function render($template, array $data = [])
    {
        if (is_null($this->loader)) {
            return $this->renderString($template, $data);
        }

        if (! $this->loader->exists($template)) {
            $this->loader->failLoading($template .' not found');
        }

        $this->pushSharedData($data);

        $__tintin = $this;

        extract($this->getSharedData());

        /**
         * Load template when is not a cached file
         */
        if (! $this->loader->isExpirated($template)) {
            $this->obFlushAndStar();

            require $this->loader->getCacheFileResolvedPath($template);
            
            return $this->obGetContent();
        }

        /**
         * Put the template into cache
         */
        $content = $this->loader->getFileContent($template);

        $this->loader->cache(
            $template,
            $this->compiler->compile($content)
        );

        $this->obFlushAndStar();

        require $this->loader->getCacheFileResolvedPath($template);

        return $this->obGetContent();
    }
public function render ( $ template , array $ data = [ ] ) { if ( is_null ( $ this -> loader ) ) { return $ this -> renderString ( $ template , $ data ) ; } if ( ! $ this -> loader -> exists ( $ template ) ) { $ this -> loader -> failLoading ( $ template . ' not found' ) ; } $ this -> pushSharedData ( $ data ) ; $ __tintin = $ this ; extract ( $ this -> getSharedData ( ) ) ; /**
         * Load template when is not a cached file
         */ if ( ! $ this -> loader -> isExpirated ( $ template ) ) { $ this -> obFlushAndStar ( ) ; require $ this -> loader -> getCacheFileResolvedPath ( $ template ) ; return $ this -> obGetContent ( ) ; } /**
         * Put the template into cache
         */ $ content = $ this -> loader -> getFileContent ( $ template ) ; $ this -> loader -> cache ( $ template , $ this -> compiler -> compile ( $ content ) ) ; $ this -> obFlushAndStar ( ) ; require $ this -> loader -> getCacheFileResolvedPath ( $ template ) ; return $ this -> obGetContent ( ) ; }
Make template rendering

@param string $template
@param array $data

@return string
@throws
Make template rendering