- sprintf: documentation ( source)
<?php
class CheckForMaximumNumberOfCharacters
{
private string $format = 'Это поле содержит %d символов. Максимальное количество символов для этого поля - %u';
private int $standard;
public function __construct(int $standard)
{
$this->standard = $standard;
}
public function __invoke(mixed $value): ?string
{
$numberOfCharacters = iconv_strlen($value);
return ($numberOfCharacters > $this->standard) ? sprintf($this->format, $numberOfCharacters, $this->standard) : null;
}
}