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)); }