conditions = $definition['conditions']; $this->documentation = isset($definition['documentation']) ? $definition['documentation'] : null; } /** * @return array */ public function getConditions() { return $this->conditions; } /** * @return mixed */ public function getDocumentation() { return $this->documentation; } /** * Determines if all conditions for a given rule are met. * * @return boolean */ protected function evaluateConditions(array &$inputParameters, RulesetStandardLibrary $standardLibrary) { foreach ($this->getConditions() as $condition) { $result = $standardLibrary->callFunction($condition, $inputParameters); if (\is_null($result) || $result === \false) { return \false; } } return \true; } public abstract function evaluate(array $inputParameters, RulesetStandardLibrary $standardLibrary); }