Bonjour,
Alors je vais rapidement vous expliquer le petit soucis sur lequel je travaille.
Supposons une class Test, le but serai d'avoir dans cette classe la possibilité d'avoir une variable dont la portée dépasse la classe pour pouvoir être utilisé dans une autre classe ou simplement dans le code principal d'une page.
Pour l'instant la seule manière que j'ai trouvé et de créer soit un cookie, soit une variable de session, mais je ne trouve pas ça très propre.
Exemple ::
Ainsi, j'aimerai savoir si il est possible d'avoir le même résultat en utilisant des propriétés de la POO, car pour l'instant je me retrouve assez coincé.
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 <?php session_start(); class Test{ //variables public function __construct() { $var = "une variable"; $_SESSION["portee"] = $var; setcookie("portee", $var); } } $test = new Test(); echo $_SESSION["portee"]; echo "<br />"; echo $_COOKIE["portee"]; ?>
De plus je cherche à faire cela pour l'utiliser dans une autre classe car je n'ai pas encore trouvé le moyen de faire une passerelle entre deux classes comme dans l'exemple qui suit ::
Ici, nous nous retrouvons avec un code d'erreur car forcément PHP ne reconnait pas la variable associée à l'objet créé dans la class Test
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 <?php class Test{ //variables public function __construct() { $test = "C'est un test"; $essai = new TestBis($test); } } class TestBis{ //variables private $test; public function __construct($test) { $this->test = $test; } public function Afficher(){ echo $this->test; } } $test = new Test(); $essai->Afficher(); ?>
Code Erreur :
Donc voilà au final, ce qui m'intéresserait, c'est de trouver une solution pour le deuxième cas, et s'il n'en existe pas, trouver une manière plus propre qu'un cookie ou une session pour le premier cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Notice: Undefined variable: essai in C:\Program Files\EasyPHP 2.0b1\www\Class\test.php on line 33 Fatal error: Call to a member function Afficher() on a non-object in C:\Program Files\EasyPHP 2.0b1\www\Class\test.php on line 33
Merci d'avance pour votre aide,
Cordialement,
Partager