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


PHP Parser::Literal方法代碼示例

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


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

示例1: parse

 /**
  * {@inheritdoc}
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->parameters[self::PARAMETER_KEY] = $parser->ArithmeticPrimary();
     $parser->match(Lexer::T_AS);
     $parser->match(Lexer::T_IDENTIFIER);
     $lexer = $parser->getLexer();
     $type = $lexer->token['value'];
     if ($lexer->isNextToken(Lexer::T_OPEN_PARENTHESIS)) {
         $parser->match(Lexer::T_OPEN_PARENTHESIS);
         /** @var Literal $parameter */
         $parameter = $parser->Literal();
         $parameters = array($parameter->value);
         if ($lexer->isNextToken(Lexer::T_COMMA)) {
             while ($lexer->isNextToken(Lexer::T_COMMA)) {
                 $parser->match(Lexer::T_COMMA);
                 $parameter = $parser->Literal();
                 $parameters[] = $parameter->value;
             }
         }
         $parser->match(Lexer::T_CLOSE_PARENTHESIS);
         $type .= '(' . implode(', ', $parameters) . ')';
     }
     if (!$this->checkType($type)) {
         $parser->syntaxError(sprintf('Type unsupported. Supported types are: "%s"', implode(', ', $this->supportedTypes)), $lexer->token);
     }
     $this->parameters[self::TYPE_KEY] = $type;
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
開發者ID:sblmasta,項目名稱:doctrine-extensions,代碼行數:33,代碼來源:Cast.php

示例2: parse

 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->dateTime = $parser->ArithmeticPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->interval = $parser->Literal()->value;
     $parser->match(Lexer::T_COMMA);
     $this->unit = $parser->Literal()->value;
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
開發者ID:J0hn-,項目名稱:DQL-Time-Functions,代碼行數:11,代碼來源:TimeSub.php

示例3: parse

 /**
  * {@inheritdoc}
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->fieldName = $parser->Literal()->value;
     $parser->match(Lexer::T_COMMA);
     $this->columnExpression = $parser->StateFieldPathExpression();
     $parser->match(Lexer::T_COMMA);
     $this->strategy = (int) $parser->Literal()->value;
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
開發者ID:rollerworks,項目名稱:search-doctrine-orm,代碼行數:14,代碼來源:SqlFieldConversion.php

示例4: parse

 /**
  * @override
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $lexer = $parser->getLexer();
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->date = $parser->Literal();
     if (Lexer::T_COMMA === $lexer->lookahead['type']) {
         $parser->match(Lexer::T_COMMA);
         $this->modifier = $parser->Literal();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
開發者ID:mparaiso,項目名稱:doctrineormserviceprovider,代碼行數:15,代碼來源:Date.php

示例5: parse

 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->formatter = $parser->Literal();
     $parser->match(Lexer::T_COMMA);
     $this->date = $parser->ArithmeticPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
開發者ID:guiwoda,項目名稱:DoctrineExtensions,代碼行數:9,代碼來源:StrfTime.php

示例6: parse

 /**
  * Parse function
  *
  * @param \Doctrine\ORM\Query\Parser $parser Parser
  *
  * @return void
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(\Doctrine\ORM\Query\Lexer::T_IDENTIFIER);
     $parser->match(\Doctrine\ORM\Query\Lexer::T_OPEN_PARENTHESIS);
     $this->relevanceSearchWords = $parser->Literal();
     $parser->match(\Doctrine\ORM\Query\Lexer::T_COMMA);
     $this->relevanceTitleField = $parser->SingleValuedPathExpression();
     $parser->match(\Doctrine\ORM\Query\Lexer::T_COMMA);
     $this->relevanceTextField = $parser->SingleValuedPathExpression();
     $parser->match(\Doctrine\ORM\Query\Lexer::T_CLOSE_PARENTHESIS);
 }
開發者ID:kirkbauer2,項目名稱:kirkxc,代碼行數:18,代碼來源:RelevanceFunction.php

示例7: parse

 /**
  * {@inheritdoc}
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->column = $parser->ArithmeticPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->pattern = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->caseInsensitive = 'true' === strtolower($parser->Literal()->value);
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
開發者ID:rollerworks,項目名稱:search-doctrine-orm,代碼行數:14,代碼來源:ValueMatch.php

示例8: parse

 /**
  * (non-PHPdoc)
  * @see \Doctrine\ORM\Query\AST\Functions\FunctionNode::parse()
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     do {
         $this->_aColumns[] = $parser->StateFieldPathExpression();
         $parser->match(Lexer::T_COMMA);
     } while ($parser->getLexer()->isNextToken(Lexer::T_IDENTIFIER));
     $this->_oNeedle = $parser->InParameter();
     while ($parser->getLexer()->isNextToken(Lexer::T_STRING)) {
         $this->_oMode = $parser->Literal();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
開發者ID:m3uzz,項目名稱:onionfw,代碼行數:18,代碼來源:MatchAgainst.php


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