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


PHP Token::getName方法代码示例

本文整理汇总了PHP中Token::getName方法的典型用法代码示例。如果您正苦于以下问题:PHP Token::getName方法的具体用法?PHP Token::getName怎么用?PHP Token::getName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Token的用法示例。


在下文中一共展示了Token::getName方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: seekMatchingCurlyBrace

 /**
  * Seeks to the matching curly brace.
  *
  * @param Token $token
  */
 public function seekMatchingCurlyBrace(Token $token)
 {
     $id = $token->getId();
     $level = $token->getBlockLevel();
     if ($id != T_OPEN_CURLY && $id != T_CLOSE_CURLY) {
         throw new Exception($token->getName() . ' is not a curly brace');
     }
     // Forward search
     if ($id == T_OPEN_CURLY) {
         $this->next();
         while ($this->valid()) {
             $token = $this->current()->getId();
             $closeLevel = $this->current()->getBlockLevel();
             if ($token == T_CLOSE_CURLY && $closeLevel == $level) {
                 return;
             }
             $this->next();
         }
     }
     // Backward search
     if ($id == T_CLOSE_CURLY) {
         $this->prev();
         while ($this->valid()) {
             $token = $this->current()->getId();
             $openLevel = $this->current()->getBlockLevel();
             if ($token == T_OPEN_CURLY && $level == $openLevel) {
                 return;
             }
             $this->prev();
         }
     }
     // This should be impossible since in a syntactically valid
     // PHP file, every opened curly brace must be closed.
     throw new Exception('No matching curly brace found');
 }
开发者ID:spriebsch,项目名称:phpca,代码行数:40,代码来源:File.php

示例2: tokenize

 public static function tokenize($string)
 {
     $len = strlen($string);
     $tokens = array();
     $current_token = new Token(Token::T_NONE, 0);
     $i = 0;
     while ($i < $len) {
         $c = $string[$i];
         switch ($c) {
             case '\\':
                 // Escape character
                 $current_token->addData($string[++$i]);
                 break;
             case ' ':
                 self::push($tokens, $current_token, $i);
                 break;
             case ':':
                 if ($current_token->getData() == null) {
                     throw new ParseException('Expected T_FIELD_NAME, got nothing', $string, $i);
                 }
                 if (!$current_token->isTypeNoneOr(Token::T_FIELD_NAME)) {
                     throw new ParseException('Expected T_FIELD_NAME, got ' . Token::getName($current_token->getType()), $string, $i);
                 }
                 $current_token->setType(Token::T_FIELD_NAME);
                 self::push($tokens, $current_token, $i);
                 $current_token->setType(Token::T_FIELD_VALUE);
                 break;
             case '^':
                 if ($current_token->getData() == null) {
                     throw new ParseException('Expected T_FIELD_NAME, got nothing', $string, $i);
                 }
                 if (!$current_token->isTypeNoneOr(Token::T_FIELD_NAME)) {
                     throw new ParseException('Expected T_FIELD_NAME, got ' . Token::getName($current_token->getType()), $string, $i);
                 }
                 $current_token->setType(Token::T_FIELD_NAME);
                 $field_token = $current_token;
                 self::push($tokens, $current_token, $i);
                 $current_token->setType(Token::T_FIELD_WEIGHT);
                 self::readInt($current_token, $string, $i);
                 self::push($tokens, $current_token, $i);
                 if ($i + 1 < $len && $string[$i + 1] == ':') {
                     // Peek one ahead. Duplicate T_FIELD_NAME token if a T_FIELD_VALUE follows.
                     $current_token = $field_token;
                 }
                 break;
             case '@':
                 if ($current_token->getData() != null) {
                     throw new ParseException('Expected nothing, got ' . Token::getName($current_token->getType()), $string, $i);
                 }
                 $current_token->setType(Token::T_FIELD_SEARCH);
                 break;
             case '"':
                 if ($current_token->getData() == null) {
                     $current_token->setTypeIfNone(Token::T_STRING);
                     self::readEncString($current_token, $string, $i);
                     if ($i + 1 < $len && $string[$i + 1] != ' ') {
                         // Peek one ahead. Should be empty
                         throw new ParseException('Unexpected T_STRING', $string, $i + 1);
                     }
                 } else {
                     throw new ParseException('Unexpected T_STRING', $string, $i);
                 }
                 break;
             default:
                 $current_token->addData($c);
         }
         $i++;
     }
     self::push($tokens, $current_token, $i);
     return $tokens;
 }
开发者ID:Chubaskin,项目名称:zerocode,代码行数:71,代码来源:LexerBase.php

示例3: testGetName

 /**
  * @covers spriebsch\PHPca\Token::__construct
  * @covers spriebsch\PHPca\Token::getName
  */
 public function testGetName()
 {
     $t = new Token(T_OPEN_TAG, '<?php');
     $this->assertEquals('T_OPEN_TAG', $t->getName());
 }
开发者ID:spriebsch,项目名称:phpca,代码行数:9,代码来源:TokenTest.php

示例4: addColumnSqlToken

 public function addColumnSqlToken(Token $token, $alias = null)
 {
     if (is_null($alias)) {
         $i = 0;
         $tokenName = $token->getName();
         $tokenName = substr($tokenName, 2);
         do {
             $i++;
             $alias = "{$tokenName}#{$i}";
         } while (isset($this->columns[$alias]));
     }
     if (isset($this->columns[$alias])) {
         throw new MalformedSqlException("Column alias '{$alias}' already defined!");
     }
     $this->columns[$alias] = $token;
 }
开发者ID:addiks,项目名称:phpsql,代码行数:16,代码来源:SelectStatement.php


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