예제 #1
0
 private function dispara(literal $literal, hecho $hecho)
 {
     if ($literal->getEsNumerico()) {
         switch ($literal->getOprel()) {
             case literal::$DIFERENTE:
                 return $literal->getValor() != $hecho->getValor();
             case literal::$IGUAL:
                 return $literal->getValor() == $hecho->getValor();
             case literal::$MAYOR:
                 return $hecho->getValor() > $literal->getValor();
             case literal::$MAYOR_IGUAL:
                 return $hecho->getValor() >= $literal->getValor();
             case literal::$MENOR:
                 return $hecho->getValor() < $literal->getValor();
             case literal::$MENOR_IGUAL:
                 return $hecho->getValor() <= $literal->getValor();
         }
     } else {
         switch ($literal->getOprel()) {
             case literal::$IGUAL:
                 return strcmp($literal->getValor(), $hecho->getValor()) == 0 ? TRUE : FALSE;
             case literal::$DIFERENTE:
                 return strcmp($literal->getValor(), $hecho->getValor()) == 0 ? FALSE : TRUE;
         }
     }
 }