merge() публичный статический Метод

Merge a context into another
public static merge ( array\arraystring | integer> &$context, array\arraystring | integer> $tmp )
$context array\arraystring | integer>
$tmp array\arraystring | integer>
Пример #1
0
 /**
  * compile a template into a closure function
  *
  * @param array<string,array|string|integer> $context Current context of compiler progress.
  * @param string $template template string
  *
  * @return string $code compiled PHP code
  */
 public static function compile(&$context, $template)
 {
     $tmpContext = $context;
     $tmpContext['inlinepartial'] = array();
     $tmpContext['partialblock'] = array();
     $code = Compiler::compileTemplate($tmpContext, str_replace('function', static::$TMP_JS_FUNCTION_STR, $template));
     Context::merge($context, $tmpContext);
     if (!$context['flags']['noind']) {
         $sp = ', $sp';
         $code = preg_replace('/^/m', "'{$context['ops']['seperator']}\$sp{$context['ops']['seperator']}'", $code);
         // callbacks inside partial should be aware of $sp
         $code = preg_replace('/\\bfunction\\s*\\(([^\\(]*?)\\)\\s*{/', 'function(\\1)use($sp){', $code);
     } else {
         $sp = '';
     }
     $code = str_replace(static::$TMP_JS_FUNCTION_STR, 'function', $code);
     return "function (\$cx, \$in{$sp}) {{$context['ops']['op_start']}'{$code}'{$context['ops']['op_end']}}";
 }