Skip to content

Commit

Permalink
Микрорефакторинг. Добавил публичный интерфейс для очистки всего кеша,…
Browse files Browse the repository at this point in the history
… а также разделил опции по разным методам
  • Loading branch information
mmjurov committed May 20, 2016
1 parent be2b841 commit d721864
Showing 1 changed file with 26 additions and 10 deletions.
36 changes: 26 additions & 10 deletions src/Maximaster/Tools/Twig/TemplateEngine.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,41 @@ class TemplateEngine
{
private static $instance = null;

private static function getInstance()
/**
* Очищает весь кеш твига
*/
public static function clearAllCache()
{
if (self::$instance) return self::$instance;

$loader = new BitrixLoader($_SERVER['DOCUMENT_ROOT']);

$c = Configuration::getInstance();
$config = $c->get('maximaster');
$twigConfig = (array)$config['tools']['twig'];
self::getInstance()->clearCacheFiles();
}

$defaultConfig = array(
private static function getDefaultOptions()
{
return array(
'debug' => false,
'charset' => SITE_CHARSET,
'cache' => $_SERVER['DOCUMENT_ROOT'] . '/bitrix/cache/maximaster/tools.twig',
'auto_reload' => isset( $_GET[ 'clear_cache' ] ) && strtoupper($_GET[ 'clear_cache' ]) == 'Y',
'autoescape' => false
);
}

private static function getOptions()
{
$c = Configuration::getInstance();
$config = $c->get('maximaster');
$twigConfig = (array)$config['tools']['twig'];

return array_merge(self::getDefaultOptions(), $twigConfig);
}

private static function getInstance()
{
if (self::$instance) return self::$instance;

$loader = new BitrixLoader($_SERVER['DOCUMENT_ROOT']);

$twigOptions = array_merge($defaultConfig, $twigConfig);
$twigOptions = self::getOptions();

$twig = new \Twig_Environment($loader, $twigOptions);

Expand Down

0 comments on commit d721864

Please sign in to comment.