catchable fatal error que je ne comprends pas
Bonjour,
j'ai créer une classe qui me renvoi l'erreur suivante :
Citation:
Catchable fatal error: Object of class ValidModule could not be converted to string in...
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.
La méthode renvoie le nom d'une page dont je dois ensuite faire l'include.
Voici la classe :
Code:
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;
}
}
?> |
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.
Or si je fais :
Code:
1 2
| $validModule = new ValidModule($_GET['page']);
require_once $validModule; |
et bien j'ai l'erreur écrite plus haut, et je ne vois pas ce qui peut clocher.
Peut-être est-ce évidemment mais moi ça ne me saute pas aux yeux.
Merci d'avance pour votre aide