Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/05/2007, à 10:41

LR

[Résolu] [PHP5] Encapsulation facile ?

Salut,

J'ai une classe Toto et une classe TotoSpecific qui étend Toto.

J'ai besoin de pouvoir convertir un objet Toto en objet TotoSpecific.

TotoSpecific ne change pas les propriétés de Toto, elle surcharge juste une méthode. Je pourrais faire de l'encapsulation mais le problème c'est que Toto a vraiment beaucoup de méthodes et je n'ai pas envie de me taper tous les getters/setters.

Ce n'est pas moi qui instancie la classe Toto dans je ne peux pas décider à l'instanciation de créer plutôt un objet TotoSpecific.

Je me dis que dans le constructeur de TotoSpecific, je pourrais recevoir en paramètre l'objet Toto et renseigner toutes les propriétés de TotoSpecific grâce à l'introspection ? Est-ce que c'est faisable ? Je n'ai jamais touché à ça en PHP, qqun aurait un bout de code d'exemple ?

Merci d'avance
Lilian

Dernière modification par LR (Le 24/05/2007, à 11:03)

Hors ligne

#2 Le 24/05/2007, à 11:03

LR

Re : [Résolu] [PHP5] Encapsulation facile ?

Je pense que j'ai trouvé. En tout cas ça a l'air de marcher.

Voici le constructeur de TotoSpecific :

function __construct( $totoOriginal )
	{
		$totoDatas = get_object_vars( $totoOriginal );
		foreach ( $totoDatas as $name => $value )
		{
			$this->$name = $value;
		}
	}

et voilà mon objet initialisé smile

Hors ligne