framework/helpers/BaseConsole.php
public static function wrapText($text, $indent = 0, $refresh = false)
    {
        $size = static::getScreenSize($refresh);
        if ($size === false || $size[0] <= $indent) {
            return $text;
        }
        $pad = str_repeat(' ', $indent);
        $lines = explode("\n", wordwrap($text, $size[0] - $indent, "\n", true));
        $first = true;
        foreach ($lines as $i => $line) {
            if ($first) {
                $first = false;
                continue;
            }
            $lines[$i] = $pad . $line;
        }

        return implode("\n", $lines);
    }
public static function wrapText($text, $indent = 0, $refresh = false)
    {
        $size = static::getScreenSize($refresh);
        if ($size === false || $size[0] <= $indent) {
            return $text;
        }
        $pad = str_repeat(' ', $indent);
        $lines = explode("\n", wordwrap($text, $size[0] - $indent, "\n", true));
        $first = true;
        foreach ($lines as $i => $line) {
            if ($first) {
                $first = false;
                continue;
            }
            $lines[$i] = $pad . $line;
        }

        return implode("\n", $lines);
    }
Word wrap text with indentation to fit the screen size.

If screen size could not be detected, or the indentation is greater than the screen size, the text will not be wrapped.

The first line will **not** be indented, so `Console::wrapText("Lorem ipsum dolor sit amet.", 4)` will result in the
following output, given the screen width is 16 characters:

```
Lorem ipsum
dolor sit
amet.
```

@param string $text the text to be wrapped
@param int $indent number of spaces to use for indentation.
@param bool $refresh whether to force refresh of screen size.
This will be passed to [[getScreenSize()]].
@return string the wrapped text.
@since 2.0.4