Page 1 sur 1

Nom d'une classe membre

Posté : 20 févr. 2009, 18:26
par nihaoma
Bonjour tout le monde,

un p'tit soucis et je ne parviens pas à trouver de réponse, donc si quelqu'un pouvait m'aider, ca serait super ^^

soit une classe A avec une fonction "fonctionA()"
soit une classe B extends de la classe A


Comment fait pour que quand je fait B->fonctionA() je puisse connaitre au sein de la fonction le nom de la classe B ?


un bout de code qui sera peut etre plus clair:

Code : Tout sélectionner

class classA { function maFonctionA() { echo __CLASS__; } } class classB extends classA { function nesertàriendanslexemple() { } } $oMaClass = new classB; $oMaClass->maFonctionA();

Si j'execute ce code, la chaine retournée sera "classA" or moi je voudrais que ce soit "classB", comment faire svp ?

merci de votre aide

Posté : 20 févr. 2009, 22:58
par jojolapine
Un truc comme ça, en surchargeant la fonction...?:
class classA {

    function maFonctionA() {

          echo "classemère:". __CLASS__;

    }

}


class classB extends classA {

      function nesertàriendanslexemple() {

      }

 function maFonctionA() {
          parent::maFonctionA();
          echo"classe fille:". __CLASS__;

    }

}


$oMaClass = new classB;
$oMaClass->maFonctionA(); 

Posté : 20 févr. 2009, 23:31
par Invité
oui, ou en mettant une propriété a la classe A que je set avec la valeur de __CLASS__ dans le construct de la classe B, ca marche aussi, mais ca m'embète de devoir mettre quelque chose dans la classe B. Je vais avoir beaucoup de classe B (ce sont mes "modeles" sur mon MVC, et j'aurai préféré que dedans il n'y ai que des méthodes d'accès au données.