本文整理汇总了PHP中Doctrine\ORM\Query\Parser::StateFieldPathExpression方法的典型用法代码示例。如果您正苦于以下问题:PHP Parser::StateFieldPathExpression方法的具体用法?PHP Parser::StateFieldPathExpression怎么用?PHP Parser::StateFieldPathExpression使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Doctrine\ORM\Query\Parser
的用法示例。
在下文中一共展示了Parser::StateFieldPathExpression方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parse
/**
* @param Parser $parser
*/
public function parse(Parser $parser)
{
// match
$parser->match(Lexer::T_IDENTIFIER);
$parser->match(Lexer::T_OPEN_PARENTHESIS);
// first Path Expression is mandatory
$this->pathExp = array();
$this->pathExp[] = $parser->StateFieldPathExpression();
// Subsequent Path Expressions are optional
$lexer = $parser->getLexer();
while ($lexer->isNextToken(Lexer::T_COMMA)) {
$parser->match(Lexer::T_COMMA);
$this->pathExp[] = $parser->StateFieldPathExpression();
}
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
// against
if (strtolower($lexer->lookahead['value']) !== 'against') {
$parser->syntaxError('against');
}
$parser->match(Lexer::T_IDENTIFIER);
$parser->match(Lexer::T_OPEN_PARENTHESIS);
$this->against = $parser->StringPrimary();
if (strtolower($lexer->lookahead['value']) === 'boolean') {
$parser->match(Lexer::T_IDENTIFIER);
$this->booleanMode = true;
}
if (strtolower($lexer->lookahead['value']) === 'expand') {
$parser->match(Lexer::T_IDENTIFIER);
$this->queryExpansion = true;
}
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
}
示例2: parse
/**
* @inheritdoc
*/
public function parse(Parser $parser)
{
$this->match = [];
$this->mode = null;
$parser->match(Lexer::T_IDENTIFIER);
$parser->match(Lexer::T_OPEN_PARENTHESIS);
$lexer = $parser->getLexer();
for (;;) {
$this->match[] = $parser->StateFieldPathExpression();
if (!$lexer->isNextToken(Lexer::T_COMMA)) {
break;
}
$parser->match(Lexer::T_COMMA);
}
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
if (strtoupper($lexer->lookahead['value']) !== 'AGAINST') {
$parser->syntaxError('AGAINST');
}
$parser->match(Lexer::T_IDENTIFIER);
$parser->match(Lexer::T_OPEN_PARENTHESIS);
$this->against = $parser->StringPrimary();
if ($lexer->isNextToken(Lexer::T_STRING)) {
$parser->match(Lexer::T_STRING);
$this->mode = $lexer->token['value'];
}
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
}
示例3: parse
public function parse(\Doctrine\ORM\Query\Parser $parser)
{
$parser->match(Lexer::T_IDENTIFIER);
$parser->match(Lexer::T_OPEN_PARENTHESIS);
//$this->datePart=$parser->StringPrimary();
$this->dateField = $parser->StateFieldPathExpression();
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
}
示例4: parse
/**
* Parse parameters
*
* @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);
do {
$this->columns[] = $parser->StateFieldPathExpression();
$parser->match(Lexer::T_COMMA);
} while ($parser->getLexer()->isNextToken(Lexer::T_IDENTIFIER));
$this->needle = $parser->InParameter();
$parser->match(Lexer::T_CLOSE_PARENTHESIS);
}
示例5: 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);
}