moin,
- Gibt es einen besseren Weg zur Lösung als die Abarbeitung der Aussagenlogik in einer Kontrollstruktur (erstes Beispiel)?
Das Problem löst sich von selbst, wenn man es von der Laufzeit zur Entwicklungszeit verlagert. […].
Ja das hat mir @Rolf B geschrieben was du bestätigt hast. Danke dafür. Du beziehst dich auf ein Anwendungsbeispiel was sich auf diese weise lösen lässt. Ich sprach von einem allgemeinen Problem im ersten abstrakten Beispiel in der Eingangsfrage.
Ich hab ja ein ähnliches Design Pattern Fluent interface programmiert $query->select (...)->from(...)->where(...);
. Aber es reicht nur bedingt meines erachtens. Ich verwende daher z.B. LogicContainer( int $logic, FilterInterface ...$filters );
in der WHERE
-Klausel der Kette. So kann man verschachtelt arbeiten, meiner Ansicht nacht
SELECT
*
FROM
`table` AS `t`
WHERE
-- LogicContainer Beginn
(
`t`.`id` > 5 AND
`t`.`name` LIKE "_foobar_" AND
…
) OR
-- LogicContainer Ende
NOT …;
- Ist PHP für verschachtelte Aussagenlogik generell ungeeignet, sodass man Funktionale Programmiersprachen für dieses Problem heranzieht z.B. PHP BuiltIn Funktion
sort()
in C programmiert?PHP hat auch einige Array-Fuktionen, mit denen funktional programmiert werden kann, zum Beispiel die klassischen drei array_reduce(), array_filter(), array_map().
Sry, entwerder verstehe ich die AW nicht oder ich habe zu undeutlich gefragt. Dafür sry. Ich wollte konkret wissen ob verschachtelte Aussagenlogik - wahrscheinlich im KI-Umfang - besser von Funktionalen Sprachen gelöst werden soll. Dann habe ich nur ein Beispiel genannt und du hast bessere Beispiele mir unterbreitet. Das ist aber nicht die Antwort auf meine Frage, die ich gestellt habe.
lgmb
Sprachstörung