programmation objet : pb de variable - PHP - Programmation
Marsh Posté le 24-11-2002 à 12:08:50
Enleves les $ devant la variable de ta class.
Les appels : $class->nom_de_var;
Voilaaaa.
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;
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 ?