Problème d'accès au membre d'une classe

jed
Eléphant du PHP | 218 Messages

14 juil. 2007, 10:07

Bonjour, je développe mon site de téléchargement en php5. J'ai écrit cette classe qui doit me renvoyer le contenu d'un répertoire de mon serveur et un messgae d'erreur le cas échéant. Tout ce qui est visuel est stocké dans la propriété "body". Dans mon fichier principal, pas de problème pour exécuter mes méthodes après instanciation mais impossible d'afficher le contenu du membre body. Pas de message d'erreur. Voici cette classe:
class skin
{
	public $liste;
	public $body;
	private $url;
	
	public function __construct ($url)
	{
		$this->url = $url."/";
	}
	
	public function liste ($categorie)
	{
		$handle = @opendir ($this->url.$categorie);
		if (!$handle){
			$this->body = "Erreur! La catégorie sélectionnée n'existe pas. Cliquez <a href=\"skins.php\">ici</a> pour continuer.";
			exit;
			}
		$i = 0;
		while ($content = readdir ($handle))
		{
			if ($preg = preg_match ("#.txt$#", basename($content))){
				$nom = basename($content);
				$nom = str_replace (".txt", "", $nom);
				$this->liste[$i] = $nom;
				$i++;
				}
		}
		$this->output_liste($i);
	}
	
	private function output_liste($index)
	{
		$this->body = "";
		for ($i=0; $i<$index; $i++)
		{
			$this->body .= "<a href=\"skins.php?file=$this->liste[$i]\">$this->liste[$i]</a><br />";
		}
	}
};
Pourquoi est il impossible de faire un "echo $classe->body" dans le fichier où j'instancie mon objet? Avez vous une idée?

ViPHP
ViPHP | 4674 Messages

14 juil. 2007, 10:09

Bonjour,

quel message d'erreur as tu ? Si tu veux débugger, utiliser var_dump et pas echo.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

jed
Eléphant du PHP | 218 Messages

14 juil. 2007, 10:15

Je n'ai pas de messgae d'erreur, mais c'est bon, j'ai fait plus simple et ça fonctionne, merci quand même. :wink:

ViPHP
ViPHP | 4674 Messages

14 juil. 2007, 10:55

Euh d'accord, pas de quoi '^^.

Tu pourrais mettre la solution, si quelqu'un aurait ce même problème :)
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

jed
Eléphant du PHP | 218 Messages

14 juil. 2007, 22:01

La solution? Au lieu de stocker le résultat dans une propriété j'ai fait un return... voilà. :)