function FlattenException::flattenArgs
1 call to FlattenException::flattenArgs()
- FlattenException::setTrace in vendor/
symfony/ error-handler/ Exception/ FlattenException.php
File
-
vendor/
symfony/ error-handler/ Exception/ FlattenException.php, line 356
Class
- FlattenException
- FlattenException wraps a PHP Error or Exception to be able to serialize it.
Namespace
Symfony\Component\ErrorHandler\ExceptionCode
private function flattenArgs(array $args, int $level = 0, int &$count = 0) : array {
$result = [];
foreach ($args as $key => $value) {
if (++$count > 10000.0) {
return [
'array',
'*SKIPPED over 10000 entries*',
];
}
if ($value instanceof \__PHP_Incomplete_Class) {
$result[$key] = [
'incomplete-object',
$this->getClassNameFromIncomplete($value),
];
}
elseif (\is_object($value)) {
$result[$key] = [
'object',
get_debug_type($value),
];
}
elseif (\is_array($value)) {
if ($level > 10) {
$result[$key] = [
'array',
'*DEEP NESTED ARRAY*',
];
}
else {
$result[$key] = [
'array',
$this->flattenArgs($value, $level + 1, $count),
];
}
}
elseif (null === $value) {
$result[$key] = [
'null',
null,
];
}
elseif (\is_bool($value)) {
$result[$key] = [
'boolean',
$value,
];
}
elseif (\is_int($value)) {
$result[$key] = [
'integer',
$value,
];
}
elseif (\is_float($value)) {
$result[$key] = [
'float',
$value,
];
}
elseif (\is_resource($value)) {
$result[$key] = [
'resource',
get_resource_type($value),
];
}
else {
$result[$key] = [
'string',
(string) $value,
];
}
}
return $result;
}