ReflectionProperty::__construct
(PHP 5)
ReflectionProperty::__construct — Construit un nouvel objet ReflectionProperty
Description
Avertissement
Cette fonction n'est pas documentée et seule la liste des arguments est disponible.
Liste de paramètres
-
class
-
Le nom de la classe, qui contient la propriété.
-
name
-
Le nom de la propriété à refléter.
Valeurs de retour
Aucune valeur n'est retournée.
Erreurs / Exceptions
Le fait de tenter de récupérer ou définir la valeur d'une propriété privée ou protégée d'une classe émettra une exception.
Exemples
Exemple #1 Exemple avec ReflectionProperty::__construct()
<?php class String { public $length = 5; } // Création d'une instance de la classe ReflectionProperty $prop = new ReflectionProperty('String', 'length'); // Affichage de quelques informations printf( "===> The%s%s%s%s property '%s' (which was %s)\n" . " having the modifiers %s\n", $prop->isPublic() ? ' public' : '', $prop->isPrivate() ? ' private' : '', $prop->isProtected() ? ' protected' : '', $prop->isStatic() ? ' static' : '', $prop->getName(), $prop->isDefault() ? 'declared at compile-time' : 'created at run-time', var_export(Reflection::getModifierNames($prop->getModifiers()), 1) ); // Création d'une instance de chaîne $obj= new String(); // Récupère la valeur courante printf("---> Value is: "); var_dump($prop->getValue($obj)); // Modifie la valeur $prop->setValue($obj, 10); printf("---> Setting value to 10, new value is: "); var_dump($prop->getValue($obj)); // Affiche l'objet var_dump($obj); ?>
<?php class Foo { public $x = 1; protected $y = 2; private $z = 3; } $obj = new Foo; $prop = new ReflectionProperty('Foo', 'y'); $prop->setAccessible(true); /* Depuis PHP 5.3.0 */ var_dump($prop->getValue($obj)); // int(2) $prop = new ReflectionProperty('Foo', 'z'); $prop->setAccessible(true); /* Depuis PHP 5.3.0 */ var_dump($prop->getValue($obj)); // int(2) ?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
int(2) int(3)