當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Context::isWhitespace方法代碼示例

本文整理匯總了PHP中SqlParser\Context::isWhitespace方法的典型用法代碼示例。如果您正苦於以下問題:PHP Context::isWhitespace方法的具體用法?PHP Context::isWhitespace怎麽用?PHP Context::isWhitespace使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在SqlParser\Context的用法示例。


在下文中一共展示了Context::isWhitespace方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: testIsWhitespace

 public function testIsWhitespace()
 {
     $this->assertTrue(Context::isWhitespace(" "));
     $this->assertTrue(Context::isWhitespace("\r"));
     $this->assertTrue(Context::isWhitespace("\n"));
     $this->assertTrue(Context::isWhitespace("\t"));
     $this->assertFalse(Context::isWhitespace("a"));
     $this->assertFalse(Context::isWhitespace("\\b"));
     $this->assertFalse(Context::isWhitespace("\\u1000"));
 }
開發者ID:elrossco22,項目名稱:sql-parser,代碼行數:10,代碼來源:IsMethodsTest.php

示例2: extract


//.........這裏部分代碼省略.........
             if ($this->query[$i] === "\n") {
                 $this->status = 0;
             }
             continue;
         } elseif ($this->status === static::STATUS_COMMENT_C) {
             // C-like comments end in */.
             if ($this->query[$i - 1] === '*' && $this->query[$i] === '/') {
                 $this->status = 0;
             }
             continue;
         }
         /*
          * Checking if a string started.
          */
         if ($this->query[$i] === '\'') {
             $this->status = static::STATUS_STRING_SINGLE_QUOTES;
             $this->current .= $this->query[$i];
             continue;
         } elseif ($this->query[$i] === '"') {
             $this->status = static::STATUS_STRING_DOUBLE_QUOTES;
             $this->current .= $this->query[$i];
             continue;
         } elseif ($this->query[$i] === '`') {
             $this->status = static::STATUS_STRING_BACKTICK;
             $this->current .= $this->query[$i];
             continue;
         }
         /*
          * Checking if a comment started.
          */
         if ($this->query[$i] === '#') {
             $this->status = static::STATUS_COMMENT_BASH;
             continue;
         } elseif ($i + 2 < $len && $this->query[$i] === '-' && $this->query[$i + 1] === '-' && Context::isWhitespace($this->query[$i + 2])) {
             $this->status = static::STATUS_COMMENT_SQL;
             continue;
         } elseif ($i + 2 < $len && $this->query[$i] === '/' && $this->query[$i + 1] === '*' && $this->query[$i + 2] !== '!') {
             $this->status = static::STATUS_COMMENT_C;
             continue;
         }
         /*
          * Handling `DELIMITER` statement.
          *
          * The code below basically checks for
          *     `strtoupper(substr($this->query, $i, 9)) === 'DELIMITER'`
          *
          * This optimization makes the code about 3 times faster.
          */
         if ($i + 9 < $len && ($this->query[$i] === 'D' || $this->query[$i] === 'd') && ($this->query[$i + 1] === 'E' || $this->query[$i + 1] === 'e') && ($this->query[$i + 2] === 'L' || $this->query[$i + 2] === 'l') && ($this->query[$i + 3] === 'I' || $this->query[$i + 3] === 'i') && ($this->query[$i + 4] === 'M' || $this->query[$i + 4] === 'm') && ($this->query[$i + 5] === 'I' || $this->query[$i + 5] === 'i') && ($this->query[$i + 6] === 'T' || $this->query[$i + 6] === 't') && ($this->query[$i + 7] === 'E' || $this->query[$i + 7] === 'e') && ($this->query[$i + 8] === 'R' || $this->query[$i + 8] === 'r') && Context::isWhitespace($this->query[$i + 9])) {
             // Saving the current index to be able to revert any parsing
             // done in this block.
             $iBak = $i;
             $i += 9;
             // Skipping `DELIMITER`.
             // Skipping whitespaces.
             while ($i < $len && Context::isWhitespace($this->query[$i])) {
                 ++$i;
             }
             // Parsing the delimiter.
             $delimiter = '';
             while ($i < $len && !Context::isWhitespace($this->query[$i])) {
                 $delimiter .= $this->query[$i++];
             }
             // Checking if the delimiter definition ended.
             if ($delimiter != '' && ($i < $len && Context::isWhitespace($this->query[$i]) || $i === $len && $end)) {
                 // Saving the delimiter.
開發者ID:blitze299,項目名稱:phpmyadmin,代碼行數:67,代碼來源:BufferedQuery.php

示例3: parseWhitespace

 /**
  * Parses a whitespace.
  *
  * @return Token
  */
 public function parseWhitespace()
 {
     $token = $this->str[$this->last];
     if (!Context::isWhitespace($token)) {
         return null;
     }
     while (++$this->last < $this->len && Context::isWhitespace($this->str[$this->last])) {
         $token .= $this->str[$this->last];
     }
     --$this->last;
     return new Token($token, Token::TYPE_WHITESPACE);
 }
開發者ID:Timandes,項目名稱:phpmyadmin,代碼行數:17,代碼來源:Lexer.php


注:本文中的SqlParser\Context::isWhitespace方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。