本文整理汇总了PHP中PHPParser_Node_Expr::getAttribute方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPParser_Node_Expr::getAttribute方法的具体用法?PHP PHPParser_Node_Expr::getAttribute怎么用?PHP PHPParser_Node_Expr::getAttribute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPParser_Node_Expr
的用法示例。
在下文中一共展示了PHPParser_Node_Expr::getAttribute方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setVariableDefaultValue
/**
* @param AbstractVariableObject $variable
* @param \PHPParser_Node_Expr $default
* @return string
*/
private function setVariableDefaultValue(AbstractVariableObject $variable, \PHPParser_Node_Expr $default = NULL)
{
if ($default === NULL) {
return;
}
if ($default instanceof \PHPParser_Node_Scalar_String) {
$variable->setDefault($default->getAttribute('originalValue'));
if ($variable->getType() == '{unknown}') {
$variable->setType('string');
}
return;
}
if ($default instanceof \PHPParser_Node_Scalar_LNumber || $default instanceof \PHPParser_Node_Expr_UnaryMinus || $default instanceof \PHPParser_Node_Expr_UnaryPlus) {
$variable->setDefault($default->getAttribute('originalValue'));
if ($variable->getType() == '{unknown}') {
$variable->setType('integer');
}
return;
}
if ($default instanceof \PHPParser_Node_Scalar_DNumber) {
$variable->setDefault($default->getAttribute('originalValue'));
if ($variable->getType() == '{unknown}') {
$variable->setType('float');
}
return;
}
if ($default instanceof \PHPParser_Node_Expr_Array) {
//var_dump($default);
//$parameter->setDefault(join('\\', $default->items));
if ($variable->getType() == '{unknown}') {
$variable->setType('array');
}
return;
}
if ($default instanceof \PHPParser_Node_Expr_ClassConstFetch) {
$variable->setDefault(join('\\', $default->class->parts) . '::' . $default->name);
return;
}
if ($default instanceof \PHPParser_Node_Expr_ConstFetch) {
$variable->setDefault(join('\\', $default->name->parts));
return;
}
if ($default instanceof \PHPParser_Node_Scalar_TraitConst) {
$variable->setName('__TRAIT__');
return;
}
if ($default instanceof \PHPParser_Node_Scalar_ClassConst) {
$variable->setDefault('__CLASS__');
return;
}
if ($default instanceof \PHPParser_Node_Scalar_MethodConst) {
$variable->setName('__METHOD__');
return;
}
if ($default instanceof \PHPParser_Node_Scalar_DirConst) {
$variable->setName('__DIR__');
return;
}
if ($default instanceof \PHPParser_Node_Scalar_FileConst) {
$variable->setName('__FILE__');
return;
}
if ($default instanceof \PHPParser_Node_Scalar_FuncConst) {
$variable->setName('__FUNC__');
return;
}
if ($default instanceof \PHPParser_Node_Scalar_LineConst) {
$variable->setName('__LINE__');
return;
}
$type = get_class($default);
$line = $default->startLine;
$file = $this->result->getFileName();
throw new ParseErrorException("Unexpected expression type '{$type}' for default value in line {$line} of file '{$file}'", ParseErrorException::UnexpectedExpr);
}