public static function format($template, array $vars = []) { return preg_replace_callback('/{{(\\w+)}}/', function ($match) use($vars) { if (!isset($vars[$match[1]])) { return $match[0]; } $value = $vars[$match[1]]; if ('name' == $match[1]) { return $value; } return ValidationException::stringify($value); }, $template); }
/** * @dataProvider providerForFormat */ public function testFormatShouldReplacePlaceholdersProperly($template, $result, $vars) { $this->assertEquals($result, ValidationException::format($template, $vars)); }