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


PHP Parser::StringExpression方法代码示例

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


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

示例1: parse

 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $lexer = $parser->getLexer();
     if ($lexer->isNextToken(Lexer::T_DISTINCT)) {
         $parser->match(Lexer::T_DISTINCT);
         $this->isDistinct = true;
     }
     // first Path Expression is mandatory
     $this->pathExp = array();
     if ($lexer->isNextToken(Lexer::T_IDENTIFIER)) {
         $this->pathExp[] = $parser->StringExpression();
     } else {
         $this->pathExp[] = $parser->SingleValuedPathExpression();
     }
     while ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->pathExp[] = $parser->StringPrimary();
     }
     if ($lexer->isNextToken(Lexer::T_ORDER)) {
         $this->orderBy = $parser->OrderByClause();
     }
     if ($lexer->isNextToken(Lexer::T_IDENTIFIER)) {
         if (strtolower($lexer->lookahead['value']) !== 'separator') {
             $parser->syntaxError('separator');
         }
         $parser->match(Lexer::T_IDENTIFIER);
         $this->separator = $parser->StringPrimary();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:giuliaries,项目名称:DoctrineExtensions,代码行数:32,代码来源:GroupConcat.php

示例2: parse

 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->expr1 = $parser->StringExpression();
     //SingleValuedPathExpression();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:opsway,项目名称:doctrine-dbal-postgresql,代码行数:8,代码来源:ToTsvector.php

示例3: parse

 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->datetime = $parser->ArithmeticExpression();
     $parser->match(Lexer::T_COMMA);
     $this->fmt = $parser->StringExpression();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:beberlei,项目名称:doctrineextensions,代码行数:9,代码来源:ToChar.php

示例4: parse

 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->value = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->regexp = $parser->StringExpression();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:digvijaymohite,项目名称:e-tender,代码行数:9,代码来源:Regexp.php

示例5: parse

 /**
  * @override
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->basePrimary = $parser->StringExpression();
     $parser->match(Lexer::T_COMMA);
     $this->exponentPrimary = $parser->ArithmeticPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:ScotSalmon,项目名称:thronesdb,代码行数:12,代码来源:PowerFunction.php

示例6: parse

 /**
  * Define the parser
  *
  * @param Parser $parser
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->subjectExpression = $parser->StringExpression();
     $parser->match(Lexer::T_COMMA);
     $this->findExpression = $parser->StringPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->replaceExpression = $parser->StringPrimary();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:GerDner,项目名称:luck-docker,代码行数:16,代码来源:Replace.php

示例7: parse

 /**
  * @param Parser $parser
  */
 public function parse(Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->column = $parser->StringPrimary()->value;
     $parser->match(Lexer::T_COMMA);
     $this->cond = $parser->StringPrimary()->value;
     $parser->match(Lexer::T_COMMA);
     $this->value = $parser->StringExpression()->value;
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:bares43,项目名称:bachelor-thesis-survey,代码行数:14,代码来源:CountIf.php

示例8: parse

 /**
  * @param \Doctrine\ORM\Query\Parser $parser
  */
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->value = $parser->ArithmeticPrimary();
     $parser->match(Lexer::T_COMMA);
     $this->delimiter = $parser->StringExpression();
     $parser->match(Lexer::T_COMMA);
     $this->count = $parser->SimpleArithmeticExpression();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:7rin0,项目名称:BigfootCoreBundle,代码行数:14,代码来源:SubstringIndex.php

示例9: parse

 /**
  * @param \Doctrine\ORM\Query\Parser $parser
  */
 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->ArithmeticExpression();
     // parse second parameter if available
     if (Lexer::T_COMMA === $lexer->lookahead['type']) {
         $parser->match(Lexer::T_COMMA);
         $this->fmt = $parser->StringExpression();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
 }
开发者ID:AlboVieira,项目名称:aplicacaozend,代码行数:16,代码来源:Trunc.php

示例10: parse

 /**
  * @inheritdoc
  */
 public function parse(Parser $parser)
 {
     $lexer = $parser->getLexer();
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->listaggField = $parser->StringPrimary();
     if ($lexer->isNextToken(Lexer::T_COMMA)) {
         $parser->match(Lexer::T_COMMA);
         $this->separator = $parser->StringExpression();
     }
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
     if (!$lexer->isNextToken(Lexer::T_IDENTIFIER) || strtolower($lexer->lookahead['value']) != 'within') {
         $parser->syntaxError('WITHIN GROUP');
     }
     $parser->match(Lexer::T_IDENTIFIER);
     $parser->match(Lexer::T_GROUP);
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     $this->orderBy = $parser->OrderByClause();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
     if ($lexer->isNextToken(Lexer::T_IDENTIFIER)) {
         if (strtolower($lexer->lookahead['value']) != 'over') {
             $parser->syntaxError('OVER');
         }
         $parser->match(Lexer::T_IDENTIFIER);
         $parser->match(Lexer::T_OPEN_PARENTHESIS);
         if (!$lexer->isNextToken(Lexer::T_IDENTIFIER) || strtolower($lexer->lookahead['value']) != 'partition') {
             $parser->syntaxError('PARTITION BY');
         }
         $parser->match(Lexer::T_IDENTIFIER);
         $parser->match(Lexer::T_BY);
         $this->partitionBy[] = $parser->StringPrimary();
         while ($lexer->isNextToken(Lexer::T_COMMA)) {
             $parser->match(Lexer::T_COMMA);
             $this->partitionBy[] = $parser->StringPrimary();
         }
         $parser->match(Lexer::T_CLOSE_PARENTHESIS);
     }
 }
开发者ID:beberlei,项目名称:doctrineextensions,代码行数:41,代码来源:Listagg.php


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