protected function getRuntimeEvaluationConditionsFromEvaluateString(string $evaluateString): array
    {
        $matches = [];
        $runtimeEvaluationConditions = [];

        preg_match_all(self::PATTERN_MATCHRUNTIMEEVALUATIONSDEFINITION, $evaluateString, $matches);

        $matchesCount = count($matches[0]);
        for ($i = 0; $i < $matchesCount; $i++) {
            if ($matches[2][$i] === 'in' || $matches[2][$i] === 'matches') {
                $list = [];
                $listEntries = [];

                if (preg_match('/^\s*\(.*\)\s*$/', $matches[3][$i], $list) > 0) {
                    preg_match_all(self::PATTERN_MATCHRUNTIMEEVALUATIONSVALUELIST, $list[0], $listEntries);
                    $matches[3][$i] = $listEntries[1];
                }
            }

            $runtimeEvaluationConditions[] = [
                'operator' => $matches[2][$i],
                'leftValue' => $matches[1][$i],
                'rightValue' => $matches[3][$i],
            ];
        }
        return $runtimeEvaluationConditions;
    }
protected function getRuntimeEvaluationConditionsFromEvaluateString(string $evaluateString): array
    {
        $matches = [];
        $runtimeEvaluationConditions = [];

        preg_match_all(self::PATTERN_MATCHRUNTIMEEVALUATIONSDEFINITION, $evaluateString, $matches);

        $matchesCount = count($matches[0]);
        for ($i = 0; $i < $matchesCount; $i++) {
            if ($matches[2][$i] === 'in' || $matches[2][$i] === 'matches') {
                $list = [];
                $listEntries = [];

                if (preg_match('/^\s*\(.*\)\s*$/', $matches[3][$i], $list) > 0) {
                    preg_match_all(self::PATTERN_MATCHRUNTIMEEVALUATIONSVALUELIST, $list[0], $listEntries);
                    $matches[3][$i] = $listEntries[1];
                }
            }

            $runtimeEvaluationConditions[] = [
                'operator' => $matches[2][$i],
                'leftValue' => $matches[1][$i],
                'rightValue' => $matches[3][$i],
            ];
        }
        return $runtimeEvaluationConditions;
    }
protected function getRuntimeEvaluationConditionsFromEvaluateString ( string $ evaluateString ) : array { $ matches = [ ] ; $ runtimeEvaluationConditions = [ ] ; preg_match_all ( self :: PATTERN_MATCHRUNTIMEEVALUATIONSDEFINITION , $ evaluateString , $ matches ) ; $ matchesCount = count ( $ matches [ 0 ] ) ; for ( $ i = 0 ; $ i < $ matchesCount ; $ i ++ ) { if ( $ matches [ 2 ] [ $ i ] === 'in' || $ matches [ 2 ] [ $ i ] === 'matches' ) { $ list = [ ] ; $ listEntries = [ ] ; if ( preg_match ( '/^\s*\(.*\)\s*$/' , $ matches [ 3 ] [ $ i ] , $ list ) > 0 ) { preg_match_all ( self :: PATTERN_MATCHRUNTIMEEVALUATIONSVALUELIST , $ list [ 0 ] , $ listEntries ) ; $ matches [ 3 ] [ $ i ] = $ listEntries [ 1 ] ; } } $ runtimeEvaluationConditions [ ] = [ 'operator' => $ matches [ 2 ] [ $ i ] , 'leftValue' => $ matches [ 1 ] [ $ i ] , 'rightValue' => $ matches [ 3 ] [ $ i ] , ] ; } return $ runtimeEvaluationConditions ; }
Parses the evaluate string for runtime evaluations and returns the corresponding conditions array

@param string $evaluateString The evaluate string defined in the pointcut expression
@return array The corresponding constraints array
Parses the evaluate string for runtime evaluations and returns the corresponding conditions array