Bonjour,
Voila je me suis lancé dans la programation orientée objet avec php et je rencontre quelques difficultés lors de mes tests.
Voici le code que j'ai pour l'instant :
la class class.class.php (pas top le nom je sais)
la page test1.php
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
32
33
34
35
36
37
38
39 <?php class MyClass { var $myVar; function MyClass($nom) { mysql_connect('host', 'user', 'pwd'); mysql_select_db('jeu'); $requete = 'select Password from Joueurs where login=\''.$nom.'\''; $result = mysql_query($requete); $donnees = mysql_fetch_assoc($result); $this->myVar = $donnees['Password']; mysql_close(); } function afficher() { echo $this->myVar.'<br />'; } function _sleep() { $sauver[0] = $this->myVar; return $sauver; } function _wakeup() { $this->myVar = $sauver[0]; } } ?>
la page test2.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <?php require 'class.class.php'; $class = new MyClass('shadow'); $class->afficher(); echo '<p><a href="test2.php?class='.serialize($class).'" >go</a></p>'; ?>
L'idée est que je crée un objet dans test1.php, et je voudrais le passer dans la page test2.php pour pouvoir le réutiliser (plutot utile de réutiliser la même instance sur plusieurs pages ... )
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 <?php require 'class.class.php'; if (isset($_GET['class'])) { $class = unserialize($_GET['class']); $class->afficher(); } else { echo 'ko'; } ?>
mais je n'y arrive pas, lorsque j'arrive sur test2.php j'ai ce message :
et je ne vois pas pourquoi ...Fatal error: Call to a member function afficher() on a non-object in /var/www/tests/test2.php on line 8
Merci d'avance pour votre aide.
Au passage auriez vous des bons cours php5 objet ?
j'ai cherché et j'en ai trouvé plein et c'est bien la le problème, j'en ai regardé un ou deux mais qui ne me convenaient pas vraiment, j'en voudrai un qui permet de vraiment bien comprendre chaque spécificité de la poo en php, ou tout du moins les principales comme ici, que je n'ai pas du bien comprendre en suivant pourtant un cours sur un site ...
(j'ai regardé celui ci entre autre mais il n'était pas vraiment complet, même s'il explique plutot bien les types static etc ... )
Merci d'avance
Partager