Я пытаюсь создать объект, который способен обрабатывать запросные заявления. Это значит, что я могу «объединить» два условия вместе, чтобы создать зависимость между ними на основе используемого типа «join». Я в настоящее время есть простой объект, содержащий следующие методы:PHP: Создание метода psuedo-join внутри объекта
public function addCondition (Condition $condition, $join = null)
{
$this->conditions[] = $condition;
}
public function validate ()
{
foreach ($this->conditions as $condition)
{
$result = $condition->validate();
[...]
}
}
Проблема заключается в том, мне нужно, чтобы быть в состоянии выполнить условное соединение между двумя утверждениями, которые будут влиять на возвращаемое значение метода валидации. Идея заключается в том, что вы могли бы поставить условие следующим образом:
$this->addCondition($condition_1);
$this->addCondition($condition_2, 'AND');
$this->addCondition($condition_3, 'NOT');
Это позволило бы сформировать логику, необходимую для указания того, что результаты третьего условий будут обратная цепь, чтобы повлиять на результатах первого условия.
В примере, позволяет сказать:
condition_1 = Apple is Red condition_2 = Apple is Ripe condition_3 = Apple is Golden Delicious
Используя это, я должен предположить, что если бы я должен был пройти спелое, красное и золотое вкусное яблоко, результат Validate() будет ложным. Метод должен завершиться неудачно, потому что «join» для condition_3 НЕ.
Однако в настоящее время нет способа сообщить код, что результат всего метода зависит от результата предыдущего условия и способа его присоединения к нему.
Любая помощь очень ценится! Благодарю.