ReflectionProperty::__construct

(PHP 5)

ReflectionProperty::__constructConstruit un nouvel objet ReflectionProperty

Description

public ReflectionProperty::__construct ( mixed $class , string $name )

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)

Voir aussi

LoadingChargement en cours