示例#1
0
文件: _fenom.php 项目: Jako/pdoTools
 /**
  * FenomX constructor.
  *
  * @param pdoTools $pdoTools
  */
 public function __construct(pdoTools $pdoTools)
 {
     if (!class_exists('modChunkProvider')) {
         require dirname(dirname(__FILE__)) . '/fenom/Providers/ModChunk.php';
         require dirname(dirname(__FILE__)) . '/fenom/Providers/ModTemplate.php';
         require dirname(dirname(__FILE__)) . '/fenom/Providers/ModFile.php';
     }
     $provider = new modChunkProvider($pdoTools);
     parent::__construct($provider);
     $this->setCompileDir(rtrim($pdoTools->config['cachePath'], '/') . '/file');
     $this->addProvider('template', new modTemplateProvider($pdoTools));
     $this->addProvider('file', new modFileProvider($pdoTools));
     $default_options = array('disable_cache' => !$pdoTools->config['useFenomCache'], 'force_compile' => !$pdoTools->config['useFenomCache'], 'force_include' => !$pdoTools->config['useFenomCache'], 'auto_reload' => $pdoTools->config['useFenomCache']);
     if ($options = $pdoTools->modx->fromJSON($pdoTools->modx->getOption('pdotools_fenom_options'))) {
         $options = array_merge($default_options, $options);
     } else {
         $options = $default_options;
     }
     if (!$pdoTools->config['useFenomPHP']) {
         $this->removeAccessor('php');
         $options['disable_native_funcs'] = true;
     }
     $this->setOptions($options);
     $this->pdoTools = $pdoTools;
     $this->modx = $pdoTools->modx;
     $this->_addDefaultModifiers();
     $this->modx->invokeEvent('pdoToolsOnFenomInit', array('fenom' => $this, 'config' => $pdoTools->config));
 }