本文整理匯總了PHP中PhpParser\Node\Expr::getName方法的典型用法代碼示例。如果您正苦於以下問題:PHP Expr::getName方法的具體用法?PHP Expr::getName怎麽用?PHP Expr::getName使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PhpParser\Node\Expr
的用法示例。
在下文中一共展示了Expr::getName方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: resolveExpressionValue
private function resolveExpressionValue(\PhpParser\Node\Expr $expr)
{
if ($expr instanceof \PhpParser\Node\Scalar\String_) {
return array('type' => 'string', 'value' => $expr->getAttribute('originalValue'));
}
if ($expr instanceof \PhpParser\Node\Scalar\LNumber || $expr instanceof \PhpParser\Node\Expr\UnaryMinus || $expr instanceof \PhpParser\Node\Expr\UnaryPlus) {
return array('type' => 'integer', 'value' => $expr->getAttribute('originalValue'));
}
if ($expr instanceof \PhpParser\Node\Scalar\DNumber) {
return array('type' => 'float', 'value' => $expr->getAttribute('originalValue'));
}
if ($expr instanceof \PhpParser\Node\Expr\Array_) {
return array('type' => 'array', 'value' => '');
}
if ($expr instanceof \PhpParser\Node\Expr\ClassConstFetch) {
return array('type' => '{unknown}', 'value' => '', 'constant' => join('\\', $expr->class->parts) . '::' . $expr->name);
}
if ($expr instanceof \PhpParser\Node\Expr\ConstFetch) {
$reference = join('\\', $expr->name->parts);
if (in_array(strtolower($reference), array('true', 'false'))) {
return array('type' => 'boolean', 'value' => $reference);
}
return array('type' => '{unknown}', 'value' => '', 'constant' => join('\\', $expr->name->parts));
}
if ($expr instanceof \PhpParser\Node\Scalar\MagicConst\Line) {
return array('type' => 'integer', 'value' => '', 'constant' => $expr->getName());
}
if ($expr instanceof \PhpParser\Node\Scalar\MagicConst) {
return array('type' => 'string', 'value' => '', 'constant' => $expr->getName());
}
$type = get_class($expr);
$line = $expr->getLine();
$file = $this->result->getFileName();
throw new ParseErrorException("Unexpected expression type '{$type}' for value in line {$line} of file '{$file}'", ParseErrorException::UnexpectedExpr);
}