Обработка типа условия "PHP код"

Рейтинг: 3.1490  
На голосовании
Предложил Гурин Павел 04.10.2012 18:15:24

Обработка типа условия "PHP код"

Сейчас сразу и не понять как пользоваться данным типом условия.
Разобравшись оказалось что у этого условия не такая и большая область применения.

Можно например сделать такую проверку 1-1 вернет 0 можно просто написать true/false.

Код метода:

 public function Evaluate(CBPActivity $ownerActivity)
{
   @e val("\$result = ".$this->condition.";");
   return $result;
}

Предлагаю например такой код:

public function Evaluate(CBPActivity $ownerActivity)
{
   @e val('$result = f unction($this){'.$this->condition.'};');
   return $result($ownerActivity->GetRootActivity());
} 
В php коде блока действия можно будет писать такой код:

if (100 > 0){
   $result = true;
}else{
   $result = false;
}
return $result; 



У нас сразу появится и объект $this и возможность писать полноценные условия.

Рейтинг: 0.1212  
Куклин Евгений 04.10.2012 20:02:57
Условие:
blabla() == "blablabla";
function blabla()
{
  return "blablabla";
}
true
Рейтинг: 0  
Гурин Павел 05.10.2012 10:15:45

blabla($ownerActivity->GetRootActivity());
function blabla($o)
{
   $blabla = $o->GetVariable('blabla');
   if ($blabla > 100){
     return true;
   }else{
     return false;
   }
}
Рейтинг: 0  
Куклин Евгений 05.10.2012 10:38:15
Я просто как пример. Тоже сталкивался раз с такой проблемой, не хотелось вводить отдельную переменную и действие PHP-код, поэтому искал пути обхода, решал как-то так примерно.
Что касается RootActivity - то оно не требуется для получения переменных, все объекты класса активити поддерживают метод Get/SetVariable() и метод самостоятельно обращается к корневому активити.
Рейтинг: 0  
Zhandauletov Almat 24.05.2016 08:30:20
Код некорректен
У переменной не может быть параметров return $result($ownerActivity->GetRootActivity());