A disjunction is a set of {@link Expression} instances connected by logical "and" operators.
С версии: 1.0
Автор: Bernhard Schussek (bschussek@gmail.com)
Наследование: implements Webmozart\Expression\Expression
Пример #1
0
 public function testToString()
 {
     $expr1 = new AndX();
     $expr2 = new AndX(array(new GreaterThan(10), new EndsWith('.css')));
     $expr3 = new AndX(array(new GreaterThan(10), new OrX(array(new Contains('foo'), new EndsWith('.css')))));
     $this->assertSame('', $expr1->toString());
     $this->assertSame('>10 && endsWith(".css")', $expr2->toString());
     $this->assertSame('>10 && (contains("foo") || endsWith(".css"))', $expr3->toString());
 }
Пример #2
0
 private function traverseConjunction(AndX $expr)
 {
     $conjuncts1 = $expr->getConjuncts();
     $conjuncts2 = array();
     foreach ($conjuncts1 as $conjunct) {
         if ($conjunct = $this->traverse($conjunct)) {
             $conjuncts2[] = $conjunct;
         }
     }
     if ($conjuncts1 === $conjuncts2) {
         return $expr;
     }
     return $conjuncts2 ? new AndX($conjuncts2) : null;
 }