Get partial block id and fix the variable list
public static getPartialBlock ( array |
||
$vars | array |
|
return | integer | Return partial block id |
/** * handle partial * * @param array<string,array|string|integer> $context current compile context * @param array<boolean|integer|string|array> $vars parsed arguments list * * @return string Return compiled code segment for the partial */ public static function partial(&$context, $vars) { Parser::getBlockParams($vars); $pid = Parser::getPartialBlock($vars); $p = array_shift($vars); if ($context['flags']['runpart']) { if (!isset($vars[0])) { $vars[0] = $context['flags']['partnc'] ? array(0, 'null') : array(); } $v = static::getVariableNames($context, $vars); $tag = ">{$p['0']} " . implode(' ', $v[1]); if (Parser::isSubExp($p)) { list($p) = static::compileSubExpression($context, $p[1]); } else { $p = "'{$p['0']}'"; } $sp = $context['tokens']['partialind'] ? ", '{$context['tokens']['partialind']}'" : ''; return $context['ops']['seperator'] . static::getFuncName($context, 'p', $tag) . "\$cx, {$p}, {$v['0']},{$pid}{$sp}){$context['ops']['seperator']}"; } return isset($context['usedPartial'][$p[0]]) ? "{$context['ops']['seperator']}'" . Partial::compileStatic($context, $p[0]) . "'{$context['ops']['seperator']}" : $context['ops']['seperator']; }