Doctrine\ORM\Query\Parser::ConditionalExpression PHP Method

ConditionalExpression() public method

ConditionalExpression ::= ConditionalTerm {"OR" ConditionalTerm}*
public ConditionalExpression ( ) : Doctrine\ORM\Query\AST\ConditionalExpression
return Doctrine\ORM\Query\AST\ConditionalExpression
    public function ConditionalExpression()
    {
        $conditionalTerms = array();
        $conditionalTerms[] = $this->ConditionalTerm();

        while ($this->_lexer->isNextToken(Lexer::T_OR)) {
            $this->match(Lexer::T_OR);
            $conditionalTerms[] = $this->ConditionalTerm();
        }

        // Phase 1 AST optimization: Prevent AST\ConditionalExpression
        // if only one AST\ConditionalTerm is defined
        if (count($conditionalTerms) == 1) {
            return $conditionalTerms[0];
        }

        return new AST\ConditionalExpression($conditionalTerms);
    }

Usage Example

コード例 #1
0
ファイル: CountIf.php プロジェクト: redelivre/login-cidadao
 public function parse(\Doctrine\ORM\Query\Parser $parser)
 {
     $parser->match(Lexer::T_IDENTIFIER);
     // (2)
     $parser->match(Lexer::T_OPEN_PARENTHESIS);
     // (3)
     $this->var1 = $parser->ConditionalExpression();
     $parser->match(Lexer::T_CLOSE_PARENTHESIS);
     // (3)
 }
All Usage Examples Of Doctrine\ORM\Query\Parser::ConditionalExpression
Parser