function _pprintr_object_ReflectionProperty(ReflectionProperty $property, $var, $indent, $indentStep) { $modifiers = array(); $property->setAccessible(true); if (defined('PPRINTR_INCLUDE_PROTECTED') && PPRINTR_INCLUDE_PROTECTED) { $property->isPublic() && ($modifiers[] = "[92mpublic[0m"); $property->isProtected() && ($modifiers[] = "[91mprotected[0m"); $property->isPrivate() && ($modifiers[] = "[91mprivate[0m"); } $property->isStatic() && ($modifiers[] = "static"); $modifiers = implode(' ', $modifiers); $name = $property->getName(); $value = pprintr($property->getValue($var), $indent + $indentStep, $indentStep); $str = "[0m[1m{$name}[0m => {$value}"; if ($modifiers != []) { $str = "[0m{$modifiers}[1m {$str}"; } return $str; }
} } namespace { require_once 'src/pprintr.php'; function _pprintr_object_User($var, $indent, $indentStep) { return "[93m(User: #{$var->id} {$var->username})[0m"; } class User { public $id = 28239; public $username = '******'; } $array = ['null' => null, 'true' => true, 'false' => false, 'integer' => 123, 'float' => 123.45, 'string' => "hello world", 'array' => [1, 2, 3]]; $obj = (object) $array; $array['object'] = $obj; $array['object2'] = new User(); $array['object3'] = new Mduk\Foo\Bar(); define('PPRINTR_INDENT_STEP', 4); define('PPRINTR_INCLUDE_PROTECTED', true); echo "§"; echo pprintr(null), "§\n\n§"; echo pprintr(true), "§\n\n§"; echo pprintr(false), "§\n\n§"; echo pprintr(123), "§\n\n§"; echo pprintr(123.45), "§\n\n§"; echo pprintr("hello world"), "§\n\n§"; echo pprintr([null, true, false, 123, 123.45, "hello world"]), "§\n\n§"; echo pprintr($obj), "§\n\n§"; echo pprintr($array), "§\n\n"; }