当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPParser_Node_Expr::getAttribute方法代码示例

本文整理汇总了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);
 }
开发者ID:sakshika,项目名称:ATM,代码行数:80,代码来源:UnitCollectingVisitor.php


注:本文中的PHPParser_Node_Expr::getAttribute方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。