PhpBench\Formatter\Formatter::substituteTokens PHP Method

substituteTokens() private method

private substituteTokens ( array $formatConfig, $params )
$formatConfig array
    private function substituteTokens(array $formatConfig, $params)
    {
        foreach ($formatConfig as $key => $value) {
            if (is_array($value)) {
                $formatConfig[$key] = $this->substituteTokens($value, $params);
                continue;
            }
            preg_match_all('/{{(.*?)}}/', $value, $matches);
            $tokenNames = $matches[1];
            if (empty($tokenNames)) {
                continue;
            }
            $tokens = [];
            foreach ($tokenNames as $tokenName) {
                $realTokenName = trim($tokenName);
                // should we throw an exception or skip in this case? if we enforce formatter configs
                // on the generators then that is extra responsiblity for them.
                if (!isset($params[$realTokenName])) {
                    unset($formatConfig[$key]);
                    continue 2;
                }
                $tokens['{{' . $tokenName . '}}'] = $params[$realTokenName];
            }
            $formatConfig[$key] = strtr($value, $tokens);
        }
        return $formatConfig;
    }