From 6b739fa2ec43c63d3b2ca6867254faaa8f60f6d8 Mon Sep 17 00:00:00 2001 From: Sergey Panteleev Date: Fri, 17 Sep 2021 22:55:42 +0300 Subject: [PATCH] Add `get_mangled_object_vars` description (#953) Co-authored-by: George Peter Banyard --- .../functions/get-mangled-object-vars.xml | 146 ++++++++++++++++++ reference/classobj/versions.xml | 1 + 2 files changed, 147 insertions(+) create mode 100644 reference/classobj/functions/get-mangled-object-vars.xml diff --git a/reference/classobj/functions/get-mangled-object-vars.xml b/reference/classobj/functions/get-mangled-object-vars.xml new file mode 100644 index 0000000000..61a02f0cfd --- /dev/null +++ b/reference/classobj/functions/get-mangled-object-vars.xml @@ -0,0 +1,146 @@ + + + + get_mangled_object_vars + Returns an array of mangled object properties + + + + &reftitle.description; + + arrayget_mangled_object_vars + objectobject + + + Returns an &array; whose elements are the object's + properties. The keys are the member variable names, with a few notable + exceptions: private variables have the class name prepended to the variable name, + and protected variables have a * prepended to the variable name. + These prepended values have NUL bytes on either side. + + + + + &reftitle.parameters; + + + + object + + + An object instance. + + + + + + + + + &reftitle.returnvalues; + + Returns an &array; containing all properties, regardless of visibility, of object. + + + + + &reftitle.examples; + + + <function>get_mangled_object_vars</function> example + +dynamic = 5; +$object->{'6'} = 6; + +var_dump(get_mangled_object_vars($object)); + +class AO extends ArrayObject +{ + private $private = 1; +} + +$arrayObject = new AO(['x' => 'y']); +$arrayObject->dynamic = 2; + +var_dump(get_mangled_object_vars($arrayObject)); +]]> + + &example.outputs; + + + int(4) + ["public"]=> + int(1) + ["*protected"]=> + int(2) + ["Aprivate"]=> + int(3) + ["dynamic"]=> + int(5) + [6]=> + int(6) +} +array(2) { + ["AOprivate"]=> + int(1) + ["dynamic"]=> + int(2) +} + +]]> + + + + + + + &reftitle.seealso; + + + get_class_vars + get_object_vars + + + + + + diff --git a/reference/classobj/versions.xml b/reference/classobj/versions.xml index 7d88b25f6a..51ad032184 100644 --- a/reference/classobj/versions.xml +++ b/reference/classobj/versions.xml @@ -15,6 +15,7 @@ +