Page MenuHomeWickedGov Phorge

DumpUtils.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

DumpUtils.php

<?php
namespace Wikimedia\DebugInfo;
/**
* @since 1.40
*/
class DumpUtils {
/**
* Convert an object to an array by casting, but filter the properties
* to make recursive dumping more feasible.
*
* phpcs:ignore MediaWiki.Commenting.FunctionComment.ObjectTypeHintParam
* @param object $object
* @return array
* @throws \ReflectionException
*/
public static function objectToArray( $object ) {
$vars = (array)$object;
$class = new \ReflectionClass( $object );
while ( $class ) {
foreach ( $class->getProperties() as $property ) {
if ( AnnotationReader::propertyHasAnnotation( $property, 'noVarDump' ) ) {
// Ref: zend_declare_typed_property(), zend_mangle_property_name()
if ( $property->isPrivate() ) {
$mangledName = "\0{$class->name}\0{$property->name}";
} elseif ( $property->isProtected() ) {
$mangledName = "\0*\0{$property->name}";
} else {
$mangledName = $property->name;
}
if ( isset( $vars[$mangledName] ) && !is_scalar( $vars[$mangledName] ) ) {
$vars[$mangledName] = new Placeholder( $vars[$mangledName] );
}
}
}
$class = $class->getParentClass();
}
return $vars;
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, May 16, 19:30 (4 h, 11 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
04/16/9868d0755989634a62b1c4c35a2e
Default Alt Text
DumpUtils.php (1 KB)

Event Timeline