LightnCandy\Parser::isSubExp PHP Метод

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

Check a parsed result is a subexpression or not
public static isSubExp ( arrayinteger | array> $var ) : boolean
$var arrayinteger | array>
Результат boolean return true when input is a subexpression
    public static function isSubExp($var)
    {
        return is_array($var) && count($var) === 3 && $var[0] === static::SUBEXP && is_string($var[2]);
    }

Usage Example

Пример #1
0
 /**
  * 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)
 {
     // mustache spec: ignore missing partial
     if ($context['usedFeature']['dynpartial'] === 0 && $context['usedFeature']['inlpartial'] === 0 && !isset($context['usedPartial'][$vars[0][0]])) {
         return $context['ops']['seperator'];
     }
     Parser::getBlockParams($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']}{$sp}){$context['ops']['seperator']}";
     }
     return "{$context['ops']['seperator']}'" . Partial::compileStatic($context, $p[0]) . "'{$context['ops']['seperator']}";
 }
All Usage Examples Of LightnCandy\Parser::isSubExp