Bonjour,
je débute en php5, et je rencontre un problème auquel je n'arrive pas à trouver de solutions.

Je vous explique:
J'ai deux classes: user.php et forum.php.
La classe user va me servir à créer des utilisateurs:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
 
class user{
 
 private $id;
 private $nom;
 private $prenom;
private $login;
 
 
  // Constructeur de la classe.
    function user($id,$nom,$prenom,$login) {
        $this->id = $id;
        $this->nom = $nom;
        $this->prenom = $prenom;
        $this->login = $login;
    }
 
     function __construct(){
     }
 
 
 
 
    // Méthode d'affichage de l'objet.
    function __tostring() {
        return 'user id: '.$this->id.'<br>'.'user nom: '.$this->nom.'<br>'.'user prenom: '.$this->prenom.'<br>'.'user login: '.$this->login.'<br>';
    }
}
 
?>
Dans la classe forum, je souhaite enregistrer un user entant qu'attribut:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
class forum{
 
 private $name;
 private $user;
 
  // Constructeur de la classe.
    function __construct($name,user $user) {
 
        $this->name = $name;
        $this->user = $user;
    }
 
    // Méthode d'affichage de l'objet.
    function __tostring() {
        return 'forum: '.$this->name.'<br> user du forum: '.$this->user.'<br>';
    }
 
 
}
?>
Comme vous pouvez le constater je met mon user en parametre de mon constructeur afin de l'initialiser.

Et voici ma page index.php, dans laquelle je fais mes créations:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
<?php
 
 function __autoload($class_name) {
    require_once $class_name . '.php';
}
 
$user=new user(0,"monNom","monPrenom","monLogin");
$forum=new forum("forum1",$user);
 
echo($forum);
?>
Le problème est que cela ne m'affiche pas les informations du user qui a été créé.

Pouvez vous m'expliquer pourquoi?
merci