public static function resolveExpression($expression) { $expression = trim($expression); $matched_subexpression = array(); if (preg_match('/^\\{\\$([^\\}]+)\\}$/', $expression, $matched_subexpression)) { $subexpression = trim($matched_subexpression[1]); $matched_subexpression_components = array(); if (preg_match('/^([^\\.]+)\\.(.+)$/', $subexpression, $matched_subexpression_components)) { $scope_name = $matched_subexpression_components[1]; $attribute = $matched_subexpression_components[2]; $return_value = new __FlowAttribute(); $scope = self::resolveScope($scope_name); $return_value->setScope($scope); $return_value->setAttribute($attribute); } } else { $return_value = $expression; } return $return_value; }
protected function _parseAttribute(__ConfigurationSection &$flow_section) { $attribute = new __FlowAttribute(); if ($flow_section->hasAttribute('attribute') && $flow_section->hasAttribute('scope')) { $flow_attribute = new __FlowAttribute(); $flow_attribute->setAttribute($flow_section->getAttribute('attribute')); $scope = __WebflowExpressionHelper::resolveScope($flow_section->getAttribute('scope')); $flow_attribute->setScope($scope); $attribute->setAttribute($flow_attribute); } if ($flow_section->hasAttribute('value')) { $value = __WebflowExpressionHelper::resolveExpression($flow_section->getAttribute('value')); $attribute->setValue($value); } return $attribute; }