programmation objet : pb de variable

programmation objet : pb de variable - PHP - Programmation

Marsh Posté le 24-11-2002 à 01:48:33    

<?php
class PDF
{
//Private properties
var $BoldFnt;      //code d'activation du gras
  // initialisation d'une des tables des changements des styles d'une fonte
  function SetBoldFont($BoldFnt)
  { $this->$BoldFnt=$BoldFnt;
    echo gettype($this->$BoldFnt)."<BR>";
  }
  // recuperation d'une des tables des changements des styles d'une fonte
  function GetBoldFont()
  { echo gettype($this->$BoldFnt)."<BR>";
    return $this->$BoldFnt;
  }
}

 

$pdf=new PDF();
$BoldFnt[0]=":B:";
  echo gettype($BoldFnt)."<BR>";
$pdf->SetBoldFont($BoldFnt);
echo gettype($pdf->$BoldFnt)."<BR>";
$BoldFnt=$pdf->GetBoldFont();
echo gettype($BoldFnt)."<BR>";
echo gettype($pdf->$BoldFnt)."<BR>";
?>

 

-------------------
Avec ce code, j'obtiens comme affichage :
array
array
array
NULL
NULL
NULL

 

Pourquoi le fait de rentrer dans une autre fonction de la classe PDF réinitialise telle la vairiale $this->$BoldFnt à NULL ???
Je sais que j'ai pas déclaré de constructeur, est ce que ca vient de là?
Si 'est le cas, est ce qu'il faut initialisé la vairable dans le constructeur ou pas ?

Reply

Marsh Posté le 24-11-2002 à 01:48:33   

Reply

Marsh Posté le 24-11-2002 à 12:08:50    

Enleves les $ devant la variable de ta class.
 
 
Les appels : $class->nom_de_var;
 
Voilaaaa.

Reply

Marsh Posté le 24-11-2002 à 13:57:02    

oui tout à fait, comme a dit claude_min, tu n'emploie pas correctement les appels aux variables de ta classe.
 
à l'intérieur de ta classe, tu accèdes aux variables par :
$this->nomvariable
de l'extérieur (à ne pas faire en temps normal) :
$objet->nomvariable;


---------------
...oups kernel error...
Reply

Marsh Posté le 24-11-2002 à 16:10:02    

C'est bon, ca marche.  
Merci beaucoup. :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed