private function tryCompile($template)
    {
        $cache = $this->getMaskedFileName($template);
        $path = $this->getConfig('cache_folder');

        if (! file_exists($path)) {
            mkdir($path, 0777, true); // recursive path creating
        }

        if (file_exists($cache) && (filemtime($cache) > filemtime($template))) {
            // CACHED
        } else {
            $this->writeToFile(
                $cache,
                $this->compile($template),
                $this->getFile()
            );
        }

        return $this->readBuffer($cache);
    }