summaryrefslogtreecommitdiff
path: root/vendor/doctrine/orm/src/Internal/NoUnknownNamedArguments.php
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2024-08-13 23:45:21 +0200
committerpolo <ordipolo@gmx.fr>2024-08-13 23:45:21 +0200
commitbf6655a534a6775d30cafa67bd801276bda1d98d (patch)
treec6381e3f6c81c33eab72508f410b165ba05f7e9c /vendor/doctrine/orm/src/Internal/NoUnknownNamedArguments.php
parent94d67a4b51f8e62e7d518cce26a526ae1ec48278 (diff)
downloadAppliGestionPHP-bf6655a534a6775d30cafa67bd801276bda1d98d.zip
VERSION 0.2 doctrine ORM et entités
Diffstat (limited to 'vendor/doctrine/orm/src/Internal/NoUnknownNamedArguments.php')
-rw-r--r--vendor/doctrine/orm/src/Internal/NoUnknownNamedArguments.php55
1 files changed, 55 insertions, 0 deletions
diff --git a/vendor/doctrine/orm/src/Internal/NoUnknownNamedArguments.php b/vendor/doctrine/orm/src/Internal/NoUnknownNamedArguments.php
new file mode 100644
index 0000000..7584744
--- /dev/null
+++ b/vendor/doctrine/orm/src/Internal/NoUnknownNamedArguments.php
@@ -0,0 +1,55 @@
1<?php
2
3declare(strict_types=1);
4
5namespace Doctrine\ORM\Internal;
6
7use BadMethodCallException;
8
9use function array_filter;
10use function array_is_list;
11use function array_keys;
12use function array_values;
13use function assert;
14use function debug_backtrace;
15use function implode;
16use function is_string;
17use function sprintf;
18
19use const DEBUG_BACKTRACE_IGNORE_ARGS;
20
21/**
22 * Checks if a variadic parameter contains unexpected named arguments.
23 *
24 * @internal
25 */
26trait NoUnknownNamedArguments
27{
28 /**
29 * @param TItem[] $parameter
30 *
31 * @template TItem
32 * @psalm-assert list<TItem> $parameter
33 */
34 private static function validateVariadicParameter(array $parameter): void
35 {
36 if (array_is_list($parameter)) {
37 return;
38 }
39
40 [, $trace] = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
41 assert(isset($trace['class']));
42
43 $additionalArguments = array_values(array_filter(
44 array_keys($parameter),
45 is_string(...),
46 ));
47
48 throw new BadMethodCallException(sprintf(
49 'Invalid call to %s::%s(), unknown named arguments: %s',
50 $trace['class'],
51 $trace['function'],
52 implode(', ', $additionalArguments),
53 ));
54 }
55}