Ejemplo n.º 1
0
 /**
  * undocumented function
  *
  * @param   Compiler
  * @return  void
  **/
 public function __construct(Compiler $compiler)
 {
     $this->compiler = $compiler;
     foreach ($this->filters as $volt => $func) {
         if (is_string($func)) {
             $compiler->addFilter($volt, $func);
         } else {
             $compiler->addFilter($volt, $this->{$func});
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * @param VoltCompiler $compiler
  */
 public static function install($compiler)
 {
     foreach (get_class_methods(get_called_class()) as $method) {
         if ($method != __METHOD__) {
             $compiler->addFilter(Text::uncamelize($method), function ($resolvedArgs, $exprArgs) use($method) {
                 return get_called_class() . '::' . $method . '(' . $resolvedArgs . ')';
             });
         }
     }
 }
Ejemplo n.º 3
0
 public function testVoltUsersFilters()
 {
     $volt = new 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\'); ?>');
 }
Ejemplo n.º 4
0
 public function testVoltUsersFilters()
 {
     $this->specify("Custom filters should work", function () {
         $volt = new 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 }}');
         expect($compilation)->equals('<?= strrev(\'hello\') ?>');
         $compilation = $volt->compileString('{{ "1,2,3,4"|separate }}');
         expect($compilation)->equals('<?= explode(",", \'1,2,3,4\') ?>');
     });
 }