Tragbare Expressionssprache mit PHP- und JavaScript -Bindungen?Php

PHP-Programmierer chatten hier
Anonymous
 Tragbare Expressionssprache mit PHP- und JavaScript -Bindungen?

Post by Anonymous »

Ich arbeite mit einer Webanwendung, die eine starke Mischung aus serverseitigem PHP und clientseitigem JavaScript verwendet, und ich möchte den Administratoren ermöglichen, einige grundlegende Bedingungen zu konfigurieren. Zum Beispiel haben wir möglicherweise ein Datenmodell mit: < /p>

Code: Select all

var person = {
name: 'Alice',
age: 33,
favorite_color: 'purple',
address: {street: '123 Some St', state: 'NY'}
};
< /code>

Ein Administrator möchte möglicherweise ein Feld ausblenden oder eine Aktion auslösen, die auf einer bedingten Weise basiert: < /p>

((person.age > 20) or (person.favorite_color == 'red')) and (person.address.state == 'NY')
Im Idealfall könnten wir die gleichen Bedingungen in verschiedenen Kontexten verwenden-wie z. eval () . Für eine Anwendung, die mehrere Sprachen umfasst, funktioniert dies nicht. Es scheint, als müsste man einen kleinen DSL mit Implementierungen für verschiedene Plattformen erstellen, z. B. < /p>

// JS
var condition = "(person.age > 20) or (person.favorite_color == 'red')";
var isMatch = ExpressionLanguage.eval(condition, {
person: {...}
})

// PHP
$condition = "(person.age > 20) or (person.favorite_color == 'red')";
$isMatch = ExpressionLanguage::eval($condition, array(
'person' => array(...),
));
< /code>

Ich habe Schnurrbart begegnet, was einen ähnlich tragbaren Ansatz zur Vorlagen verfolgt. Sein Design ist jedoch speziell "logisch ohne" und unterstützt keine Bedingungen. Untemer weniger, es scheint ein häufig genuges Problem zu sein. Wie haben andere den Wunsch nach tragbaren Bedingungen angesprochen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post