<?php declare(strict_types=1); namespace NunoMaduro\Collision; /** * @internal * * @see \Tests\Unit\ArgumentFormatterTest */ final class ArgumentFormatter { private const MAX_STRING_LENGTH = 1000; public function format(array $arguments, bool $recursive = true): string { $result = []; foreach ($arguments as $argument) { switch (true) { case is_string($argument): $result[] = '"'.(mb_strlen($argument) > self::MAX_STRING_LENGTH ? mb_substr($argument, 0, self::MAX_STRING_LENGTH).'...' : $argument).'"'; break; case is_array($argument): $associative = array_keys($argument) !== range(0, count($argument) - 1); if ($recursive && $associative && count($argument) <= 5) { $result[] = '['.$this->format($argument, false).']'; } break; case is_object($argument): $class = get_class($argument); $result[] = "Object($class)"; break; } } return implode(', ', $result); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Adapters | Folder | 0755 |
|
|
Contracts | Folder | 0755 |
|
|
Exceptions | Folder | 0755 |
|
|
SolutionsRepositories | Folder | 0755 |
|
|
ArgumentFormatter.php | File | 1.21 KB | 0644 |
|
ConsoleColor.php | File | 6 KB | 0644 |
|
Coverage.php | File | 6.18 KB | 0644 |
|
Handler.php | File | 1.05 KB | 0644 |
|
Highlighter.php | File | 8.43 KB | 0644 |
|
Provider.php | File | 1015 B | 0644 |
|
Writer.php | File | 10 KB | 0644 |
|