protected function OptimizedPhpArrayDumper::dumpCollection in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumper.php \Drupal\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumper::dumpCollection()
Dumps a collection to a PHP array.
Parameters
mixed $collection: A collection to process.
bool &$resolve: Used for passing the information to the caller whether the given collection needed to be resolved or not. This is used for optimizing deep arrays that don't need to be traversed.
Return value
object|array The collection in a suitable format.
2 calls to OptimizedPhpArrayDumper::dumpCollection()
- OptimizedPhpArrayDumper::dumpMethodCalls in core/
lib/ Drupal/ Component/ DependencyInjection/ Dumper/ OptimizedPhpArrayDumper.php - Dumps method calls to a PHP array.
- OptimizedPhpArrayDumper::getServiceDefinition in core/
lib/ Drupal/ Component/ DependencyInjection/ Dumper/ OptimizedPhpArrayDumper.php - Gets a service definition as PHP array.
1 method overrides OptimizedPhpArrayDumper::dumpCollection()
- PhpArrayDumper::dumpCollection in core/
lib/ Drupal/ Component/ DependencyInjection/ Dumper/ PhpArrayDumper.php - Dumps a collection to a PHP array.
File
- core/
lib/ Drupal/ Component/ DependencyInjection/ Dumper/ OptimizedPhpArrayDumper.php, line 306
Class
- OptimizedPhpArrayDumper
- OptimizedPhpArrayDumper dumps a service container as a serialized PHP array.
Namespace
Drupal\Component\DependencyInjection\DumperCode
protected function dumpCollection($collection, &$resolve = FALSE) {
$code = [];
foreach ($collection as $key => $value) {
if (is_array($value)) {
$resolve_collection = FALSE;
$code[$key] = $this
->dumpCollection($value, $resolve_collection);
if ($resolve_collection) {
$resolve = TRUE;
}
}
else {
$code[$key] = $this
->dumpValue($value);
if (is_object($code[$key])) {
$resolve = TRUE;
}
}
}
if (!$resolve) {
return $collection;
}
return (object) [
'type' => 'collection',
'value' => $code,
'resolve' => $resolve,
];
}