Laravel
February 21

Повторение строк в Laravel с помощью метода `repeat`

Нужно повторить строку несколько раз? Метод `Str::repeat` в Laravel предлагает простое решение для создания повторяющихся строк.

Базовое использование

Повторение строки определенное количество раз:

use Illuminate\Support\Str;

$string = 'a';
$repeat = Str::repeat($string, 5);
// Result: 'aaaaa'

Реальный пример

Рассмотрим как его можно использовать в HTML-генераторе:

class HtmlGenerator
{
    public function createSpacerElement(int $size = 1)
    {
        // Создает margin, используя единицы измерения em
        return sprintf(
            '<div style="margin-bottom: %s"></div>',
            Str::repeat('1em ', $size)
        );
    }
    
    public function generateStarRating(int $rating, int $maxStars = 5)
    {
        $fullStars = Str::repeat('★', $rating);
        $emptyStars = Str::repeat('☆', $maxStars - $rating);
        
        return sprintf(
            '<div class="rating">%s%s</div>',
            $fullStars,
            $emptyStars
        );
    }
    
    public function createLoadingIndicator(int $dots = 3)
    {
        return sprintf(
            'Loading%s',
            Str::repeat('.', $dots)
        );
    }
}

// Использование
$html = new HtmlGenerator();

echo $html->createSpacerElement(2);
// Output: <div style="margin-bottom: 1em 1em "></div>

echo $html->generateStarRating(3);
// Output: <div class="rating">★★★☆☆</div>

echo $html->createLoadingIndicator();
// Output: Loading...

Метод `repeat` обеспечивает чистый способ решения задачи повторения строк в приложениях Laravel.