Example #1
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;
 }