Пример #1
0
 /**
  * Compile firewall code
  *
  * @package     las
  * @version     1.0
  *
  * @param string $code input firewall code
  * @param mixed $name name to save file
  * @param boolean $eval if true parse php code
  */
 public static function compile($code, $name = null, $eval = false)
 {
     $compiler = new \Phalcon\Mvc\View\Engine\Volt\Compiler();
     $compiler->addExtension(new \Las\Extension\VoltStaticFunctions());
     $compiler->addExtension(new \Las\Extension\VoltPHPFunctions());
     $php = $compiler->compileString($code);
     if ($name) {
         $dir = ROOT_PATH . '/app/common/cache/volt/app/cli/views/';
         if (!is_dir($dir)) {
             $old = umask(0);
             mkdir($dir, 0777, true);
             umask($old);
         }
         file_put_contents($dir . $name . '.phtml', $php);
     }
     return $eval ? eval('; ?>' . $php) : $php;
 }
Пример #2
0
 public function testVoltUsersFilters()
 {
     $volt = new \Phalcon\Mvc\View\Engine\Volt\Compiler();
     //Single string filter
     $volt->addFilter('reverse', 'strrev');
     //Filter with closure
     $volt->addFilter('separate', function ($arguments, $exprArguments) {
         return 'explode(",", ' . $arguments . ')';
     });
     $compilation = $volt->compileString('{{ "hello"|reverse }}');
     $this->assertEquals($compilation, '<?php echo strrev(\'hello\'); ?>');
     $compilation = $volt->compileString('{{ "1,2,3,4"|separate }}');
     $this->assertEquals($compilation, '<?php echo explode(",", \'1,2,3,4\'); ?>');
 }
Пример #3
0
<?php

//Create a compiler
$compiler = new \Phalcon\Mvc\View\Engine\Volt\Compiler();
//Optionally add some options
$compiler->setOptions(array());
//Compile a template string returning PHP code
echo $compiler->compileString('{{ "hello" }}');
//Compile a template in a file specifying the destination file
$compiler->compileFile('layouts/main.volt', 'cache/layouts/main.volt.php');
//Compile a template in a file based on the options passed to the compiler
$compiler->compile('layouts/main.volt');
//Require the compiled templated (optional)
require $compiler->getCompiledPath();