(PHP 7 >= 7.4.0, PHP 8)
get_mangled_object_vars — Retourne un tableau de propriétés de l'objet manipulé
Retourne un tableau dont les éléments sont les propriétés de l'object
.
Les clés sont les noms des variables membres, avec quelques exceptions notables :
les variables privées ont le nom de la classe précédé du nom de la variable,
et les variables protégées sont précédées d'un *
.
Ces valeurs précédées ont des octets NUL
de part et d'autre.
Les propriétés typées non initialisées
sont rejetées silencieusement.
object
Une instance d'objet.
Retourne un tableau contenant toutes les propriétés de object
, indépendamment de leur visibilité.
Exemple #1 Exemple de get_mangled_object_vars()
<?php
class A
{
public $public = 1;
protected $protected = 2;
private $private = 3;
}
class B extends A
{
private $private = 4;
}
$object = new B;
$object->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));
L'exemple ci-dessus va afficher :
array(6) { ["Bprivate"]=> 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) }