mirror of
https://github.com/twigphp/Twig.git
synced 2026-09-01 21:17:21 +00:00
Use get_debug_type() everywhere
This commit is contained in:
@@ -97,7 +97,7 @@ final class HtmlExtension extends AbstractExtension
|
||||
} elseif (\is_array($arg)) {
|
||||
foreach ($arg as $class => $condition) {
|
||||
if (!\is_string($class)) {
|
||||
throw new RuntimeError(\sprintf('The html_classes function argument %d (key %d) should be a string, got "%s".', $i, $class, \gettype($class)));
|
||||
throw new RuntimeError(\sprintf('The html_classes function argument %d (key %d) should be a string, got "%s".', $i, $class, get_debug_type($class)));
|
||||
}
|
||||
if (!$condition) {
|
||||
continue;
|
||||
@@ -105,7 +105,7 @@ final class HtmlExtension extends AbstractExtension
|
||||
$classes[] = $class;
|
||||
}
|
||||
} else {
|
||||
throw new RuntimeError(\sprintf('The html_classes function argument %d should be either a string or an array, got "%s".', $i, \gettype($arg)));
|
||||
throw new RuntimeError(\sprintf('The html_classes function argument %d should be either a string or an array, got "%s".', $i, get_debug_type($arg)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -573,7 +573,7 @@ final class CoreExtension extends AbstractExtension
|
||||
public static function replace($str, $from): string
|
||||
{
|
||||
if (!is_iterable($from)) {
|
||||
throw new RuntimeError(\sprintf('The "replace" filter expects a sequence/mapping or "Traversable" as replace values, got "%s".', \is_object($from) ? \get_class($from) : \gettype($from)));
|
||||
throw new RuntimeError(\sprintf('The "replace" filter expects a sequence/mapping or "Traversable" as replace values, got "%s".', get_debug_type($from)));
|
||||
}
|
||||
|
||||
return strtr($str ?? '', self::toArray($from));
|
||||
@@ -670,7 +670,7 @@ final class CoreExtension extends AbstractExtension
|
||||
|
||||
foreach ($arrays as $argNumber => $array) {
|
||||
if (!is_iterable($array)) {
|
||||
throw new RuntimeError(\sprintf('The merge filter only works with sequences/mappings or "Traversable", got "%s" for argument %d.', \gettype($array), $argNumber + 1));
|
||||
throw new RuntimeError(\sprintf('The merge filter only works with sequences/mappings or "Traversable", got "%s" for argument %d.', get_debug_type($array), $argNumber + 1));
|
||||
}
|
||||
|
||||
$result = array_merge($result, self::toArray($array));
|
||||
@@ -977,7 +977,7 @@ final class CoreExtension extends AbstractExtension
|
||||
if ($array instanceof \Traversable) {
|
||||
$array = iterator_to_array($array);
|
||||
} elseif (!\is_array($array)) {
|
||||
throw new RuntimeError(\sprintf('The sort filter only works with sequences/mappings or "Traversable", got "%s".', \gettype($array)));
|
||||
throw new RuntimeError(\sprintf('The sort filter only works with sequences/mappings or "Traversable", got "%s".', get_debug_type($array)));
|
||||
}
|
||||
|
||||
if (null !== $arrow) {
|
||||
@@ -1577,7 +1577,7 @@ final class CoreExtension extends AbstractExtension
|
||||
public static function batch($items, $size, $fill = null, $preserveKeys = true): array
|
||||
{
|
||||
if (!is_iterable($items)) {
|
||||
throw new RuntimeError(\sprintf('The "batch" filter expects a sequence/mapping or "Traversable", got "%s".', \is_object($items) ? \get_class($items) : \gettype($items)));
|
||||
throw new RuntimeError(\sprintf('The "batch" filter expects a sequence/mapping or "Traversable", got "%s".', get_debug_type($items)));
|
||||
}
|
||||
|
||||
$size = (int) ceil($size);
|
||||
@@ -1652,12 +1652,12 @@ final class CoreExtension extends AbstractExtension
|
||||
if (null === $object) {
|
||||
$message = \sprintf('Impossible to access a key ("%s") on a null variable.', $item);
|
||||
} else {
|
||||
$message = \sprintf('Impossible to access a key ("%s") on a %s variable ("%s").', $item, \gettype($object), $object);
|
||||
$message = \sprintf('Impossible to access a key ("%s") on a %s variable ("%s").', $item, get_debug_type($object), $object);
|
||||
}
|
||||
} elseif (null === $object) {
|
||||
$message = \sprintf('Impossible to access an attribute ("%s") on a null variable.', $item);
|
||||
} else {
|
||||
$message = \sprintf('Impossible to access an attribute ("%s") on a %s variable ("%s").', $item, \gettype($object), $object);
|
||||
$message = \sprintf('Impossible to access an attribute ("%s") on a %s variable ("%s").', $item, get_debug_type($object), $object);
|
||||
}
|
||||
|
||||
throw new RuntimeError($message, $lineno, $source);
|
||||
@@ -1678,7 +1678,7 @@ final class CoreExtension extends AbstractExtension
|
||||
} elseif (\is_array($object)) {
|
||||
$message = \sprintf('Impossible to invoke a method ("%s") on a sequence/mapping.', $item);
|
||||
} else {
|
||||
$message = \sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s").', $item, \gettype($object), $object);
|
||||
$message = \sprintf('Impossible to invoke a method ("%s") on a %s variable ("%s").', $item, get_debug_type($object), $object);
|
||||
}
|
||||
|
||||
throw new RuntimeError($message, $lineno, $source);
|
||||
@@ -1826,7 +1826,7 @@ final class CoreExtension extends AbstractExtension
|
||||
if ($array instanceof \Traversable) {
|
||||
$array = iterator_to_array($array);
|
||||
} elseif (!\is_array($array)) {
|
||||
throw new RuntimeError(\sprintf('The column filter only works with sequences/mappings or "Traversable", got "%s" as first argument.', \gettype($array)));
|
||||
throw new RuntimeError(\sprintf('The column filter only works with sequences/mappings or "Traversable", got "%s" as first argument.', get_debug_type($array)));
|
||||
}
|
||||
|
||||
return array_column($array, $name, $index);
|
||||
@@ -1838,7 +1838,7 @@ final class CoreExtension extends AbstractExtension
|
||||
public static function filter(Environment $env, $array, $arrow)
|
||||
{
|
||||
if (!is_iterable($array)) {
|
||||
throw new RuntimeError(\sprintf('The "filter" filter expects a sequence/mapping or "Traversable", got "%s".', \is_object($array) ? \get_class($array) : \gettype($array)));
|
||||
throw new RuntimeError(\sprintf('The "filter" filter expects a sequence/mapping or "Traversable", got "%s".', get_debug_type($array)));
|
||||
}
|
||||
|
||||
self::checkArrowInSandbox($env, $arrow, 'filter', 'filter');
|
||||
@@ -1894,7 +1894,7 @@ final class CoreExtension extends AbstractExtension
|
||||
self::checkArrowInSandbox($env, $arrow, 'reduce', 'filter');
|
||||
|
||||
if (!\is_array($array) && !$array instanceof \Traversable) {
|
||||
throw new RuntimeError(\sprintf('The "reduce" filter only works with sequences/mappings or "Traversable", got "%s" as first argument.', \gettype($array)));
|
||||
throw new RuntimeError(\sprintf('The "reduce" filter only works with sequences/mappings or "Traversable", got "%s" as first argument.', get_debug_type($array)));
|
||||
}
|
||||
|
||||
$accumulator = $initial;
|
||||
|
||||
@@ -472,7 +472,7 @@ final class ExtensionSet
|
||||
// operators
|
||||
if ($operators = $extension->getOperators()) {
|
||||
if (!\is_array($operators)) {
|
||||
throw new \InvalidArgumentException(\sprintf('"%s::getOperators()" must return an array with operators, got "%s".', \get_class($extension), \is_object($operators) ? \get_class($operators) : \gettype($operators).(\is_resource($operators) ? '' : '#'.$operators)));
|
||||
throw new \InvalidArgumentException(\sprintf('"%s::getOperators()" must return an array with operators, got "%s".', \get_class($extension), get_debug_type($operators).(\is_resource($operators) ? '' : '#'.$operators)));
|
||||
}
|
||||
|
||||
if (2 !== \count($operators)) {
|
||||
|
||||
+1
-1
@@ -53,7 +53,7 @@ class Node implements \Countable, \IteratorAggregate
|
||||
|
||||
foreach ($nodes as $name => $node) {
|
||||
if (!$node instanceof self) {
|
||||
throw new \InvalidArgumentException(\sprintf('Using "%s" for the value of node "%s" of "%s" is not supported. You must pass a \Twig\Node\Node instance.', \is_object($node) ? $node::class : (null === $node ? 'null' : \gettype($node)), $name, static::class));
|
||||
throw new \InvalidArgumentException(\sprintf('Using "%s" for the value of node "%s" of "%s" is not supported. You must pass a \Twig\Node\Node instance.', get_debug_type($node), $name, static::class));
|
||||
}
|
||||
}
|
||||
$this->nodes = $nodes;
|
||||
|
||||
@@ -396,7 +396,7 @@ class TemplateTest extends TestCase
|
||||
|
||||
// tests when input is not an array or object
|
||||
$tests = array_merge($tests, [
|
||||
[false, null, 42, 'a', [], $anyType, 'Impossible to access an attribute ("a") on a integer variable ("42") in "index.twig".'],
|
||||
[false, null, 42, 'a', [], $anyType, 'Impossible to access an attribute ("a") on a int variable ("42") in "index.twig".'],
|
||||
[false, null, 'string', 'a', [], $anyType, 'Impossible to access an attribute ("a") on a string variable ("string") in "index.twig".'],
|
||||
[false, null, [], 'a', [], $anyType, 'Key "a" does not exist as the sequence/mapping is empty in "index.twig".'],
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user