Example #1
0
 static function varToJsAll($code)
 {
     $var_pat = "/\\\$([a-zA-Z_][a-zA-Z0-9_'\"\\[\\]]*)/";
     $callback = function ($matches) {
         return PhpToJs::varToJs($matches[1]);
     };
     return preg_replace_callback($var_pat, $callback, $code);
 }
Example #2
0
 function __toString()
 {
     $var_pat = "\\\$[a-zA-Z_][a-zA-Z0-9_'\"\\[\\]]*";
     $fe_pat = "/\\s*({$var_pat})\\s+as(:?\\s+({$var_pat})\\s+(:?=>|:))?\\s+({$var_pat})/";
     preg_match($fe_pat, $this->contents, $matches);
     $iterable = PhpToJs::varToJs($matches[1]);
     $key = $matches[3] ? substr($matches[3], 1) : 'key';
     $iterator = PhpToJs::varToJs($matches[5]);
     $str = "(function(data) { var " . OUTPUT_VAR . " = '';\n";
     $str .= "for (var {$key} in {$iterable}) { if ({$iterable}.hasOwnProperty({$key})) {";
     PhpToJs::pushVar($iterator, $iterable . '[' . $key . ']');
     PhpToJs::pushVar("data." . $key, $key);
     return $str;
 }