Портативный язык выражения с привязками PHP и JavaScript?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Портативный язык выражения с привязками PHP и JavaScript?

Сообщение Anonymous »

Я работаю с веб-приложением, которое использует тяжелую смесь PHP на стороне сервера и JavaScript на стороне клиента, и я хотел бы позволить администраторам настроить некоторые основные условия. Например, у нас может быть модель данных с: < /p>

Код: Выделить всё

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

Администратор может захотеть скрыть поле или запустить действие на основе условного подобного: < /p>

((person.age > 20) or (person.favorite_color == 'red')) and (person.address.state == 'NY')
В идеале мы могли бы использовать одинаковые условия в различных контекстах-такие как проверка на стороне клиента и проверка на стороне сервера.

Если приложение было . eval () . Но для приложения, которое включает в себя несколько языков, это не работает. Похоже, что нужно было бы создать небольшой DSL с реализациями для разных платформ, например, < /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>

Я столкнулся с усами, который использует аналогичный портативный подход к шаблоне. Однако его дизайн специально «без логики» и не поддерживает условия. Никогда не судя по тому, что это кажется достаточно общей проблемой. Как другие обращались к желанию переносных условий?

Подробнее здесь: https://stackoverflow.com/questions/341 ... t-bindings
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»