public function evaluateExpression($_expression_, $_data_) {
        // debug($_data_);
        // debug($_expression_);
        // die;
        if (is_string($_expression_)) {
            extract($_data_);
            return eval('return '.$_expression_.';');
        } else {
            $_data_[]=$this;
            return call_user_func_array($_expression_, $_data_);
        }
    }
public function evaluateExpression($_expression_, $_data_) {
        // debug($_data_);
        // debug($_expression_);
        // die;
        if (is_string($_expression_)) {
            extract($_data_);
            return eval('return '.$_expression_.';');
        } else {
            $_data_[]=$this;
            return call_user_func_array($_expression_, $_data_);
        }
    }
public function evaluateExpression ( $ _expression_ , $ _data_ ) { // debug($_data_); // debug($_expression_); // die; if ( is_string ( $ _expression_ ) ) { extract ( $ _data_ ) ; return eval ( 'return ' . $ _expression_ . ';' ) ; } else { $ _data_ [ ] = $ this ; return call_user_func_array ( $ _expression_ , $ _data_ ) ; } }
Evaluates a PHP expression.

@param mixed $_expression_ a PHP expression or PHP callback to be evaluated.
@param array $_data_ additional parameters to be passed to the above expression/callback.
@return mixed the expression result
Evaluates a PHP expression .