Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
ST_START = '0'
State Machine states
ST_LITERAL = '1'
ST_NOT_OPERATOR = '2'
ST_AND_OPERATOR = '3'
ST_OR_OPERATOR = '4'
IN_LITERAL = '0'
Input symbols
IN_NOT_OPERATOR = '1'
IN_AND_OPERATOR = '2'
IN_OR_OPERATOR = '3'
array $_conjunctions = 'array'
Set of boolean query conjunctions
Each conjunction is an array of conjunction elements
Each conjunction element is presented with two-elements array:
array(
So, it has a structure:
array( array( array(
array $_currentConjunction = 'array'
Current conjuction
mixed $_literal = ''
Current literal
boolean $_negativeLiteral = 'false'
NOT operator signal
__construct(
)
:
Object constructor
emptyNotOperatorAction(
)
:
default (omitted) + NOT operator processing
emptyOperatorAction(
)
:
default (omitted) operator processing
finishExpression(
)
:
array
Finish an expression and return result
Result is a set of boolean query conjunctions
Each conjunction is an array of conjunction elements
Each conjunction element is presented with two-elements array:
array(
So, it has a structure:
array( array( array(
literalAction(
)
:
Literal processing
notOperatorAction(
)
:
NOT operator processing
orOperatorAction(
)
:
OR operator processing Close current conjunction
processLiteral(
$literal
)
:
Process expression literal.
processOperator(
integer $operator
)
:
Process next operator.
Operators are defined by class constants: IN_AND_OPERATOR, IN_OR_OPERATOR and IN_NOT_OPERATOR