Bonjour,
j'ai créer une classe qui me renvoi l'erreur suivante :
Le but de ma classe (et plus précisement dans le constructeur) est de lui passer en paramètre un élément de l'url et de vérifier si cet élément est une page existant sur mon serveur.Catchable fatal error: Object of class ValidModule could not be converted to string in...
La méthode renvoie le nom d'une page dont je dois ensuite faire l'include.
Voici la classe :
le plus surprenant c'est que si je fais un echo $pageReturn juste avant le return j'ai bien une valeur qui est affichée, et qui est correcte.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <?php class ValidModule { private $_module = ''; private $_page = ''; /* * Vérification de la page passée en paramètre * Si cette page existe elle est renvoyée * sinon on retourne la page d'accueil définie dans la constante HOMEPAGE */ public function __construct($page) { $pageReturn = ''; //vérifie la présence du caractère de séparation de la page $posCarac = strpos($page, PAGE_SEPARATOR); if($posCarac === FALSE) { //pas de caractère, on vérifie si un répertoire du nom de la page existe avec une page index à l'intérieur $pageVerif = MODULE.$page.'/index.php'; if(file_exists($pageVerif)) { $pageReturn = $pageVerif; $this->_module = $page; $this->_page = 'index'; } else { $pageReturn = HOMEPAGE; $this->_module = 'accueil'; $this->_page = 'index'; } } else { $elementChemin = preg_split('/'.PAGE_SEPARATOR.'/', $page); $nomModule = $elementChemin[0]; $nomPage = $elementChemin[1]; $pageVerif = MODULE.$nomModule.'/'.$nomPage.'.php'; if(file_exists($pageVerif)) { $pageReturn = $pageVerif; $this->_module = $nomModule; $this->_page = $nomPage; } else { $pageReturn = HOMEPAGE; $this->_module = 'accueil'; $this->_page = 'index'; } } return $pageReturn; } } ?>
Or si je fais :
et bien j'ai l'erreur écrite plus haut, et je ne vois pas ce qui peut clocher.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $validModule = new ValidModule($_GET['page']); require_once $validModule;
Peut-être est-ce évidemment mais moi ça ne me saute pas aux yeux.
Merci d'avance pour votre aide
Partager