🔧
This commit is contained in:
8
vendor/symfony/string/LazyString.php
vendored
8
vendor/symfony/string/LazyString.php
vendored
@@ -26,7 +26,7 @@ class LazyString implements \Stringable, \JsonSerializable
|
||||
public static function fromCallable(callable|array $callback, mixed ...$arguments): static
|
||||
{
|
||||
if (\is_array($callback) && !\is_callable($callback) && !(($callback[0] ?? null) instanceof \Closure || 2 < \count($callback))) {
|
||||
throw new \TypeError(sprintf('Argument 1 passed to "%s()" must be a callable or a [Closure, method] lazy-callable, "%s" given.', __METHOD__, '['.implode(', ', array_map('get_debug_type', $callback)).']'));
|
||||
throw new \TypeError(\sprintf('Argument 1 passed to "%s()" must be a callable or a [Closure, method] lazy-callable, "%s" given.', __METHOD__, '['.implode(', ', array_map('get_debug_type', $callback)).']'));
|
||||
}
|
||||
|
||||
$lazyString = new static();
|
||||
@@ -39,7 +39,7 @@ class LazyString implements \Stringable, \JsonSerializable
|
||||
$callback[1] ??= '__invoke';
|
||||
}
|
||||
$value = $callback(...$arguments);
|
||||
$callback = self::getPrettyName($callback);
|
||||
$callback = !\is_scalar($value) && !$value instanceof \Stringable ? self::getPrettyName($callback) : 'callable';
|
||||
$arguments = null;
|
||||
}
|
||||
|
||||
@@ -94,7 +94,7 @@ class LazyString implements \Stringable, \JsonSerializable
|
||||
$r = new \ReflectionFunction($this->value);
|
||||
$callback = $r->getStaticVariables()['callback'];
|
||||
|
||||
$e = new \TypeError(sprintf('Return value of %s() passed to %s::fromCallable() must be of the type string, %s returned.', $callback, static::class, $type));
|
||||
$e = new \TypeError(\sprintf('Return value of %s() passed to %s::fromCallable() must be of the type string, %s returned.', $callback, static::class, $type));
|
||||
}
|
||||
|
||||
throw $e;
|
||||
@@ -129,7 +129,7 @@ class LazyString implements \Stringable, \JsonSerializable
|
||||
} elseif ($callback instanceof \Closure) {
|
||||
$r = new \ReflectionFunction($callback);
|
||||
|
||||
if (str_contains($r->name, '{closure}') || !$class = $r->getClosureCalledClass()) {
|
||||
if ($r->isAnonymous() || !$class = $r->getClosureCalledClass()) {
|
||||
return $r->name;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user