Voila je rencontre un petit problème avec mon code.

Au niveau du chapitre

Tutoriels PHP / Apprendre le PHP / Le routeur

J'ai suivi tout le chapitre du router à la lettre et pourtant j'ai une erreur différente quand j'essaie d’accéder à une route qui n'existe pas . Le message d'erreur suivant apparaît : "Trying to access array offset on value of type bool".

$match = $this->router->match();
$view = $match['target';

La ligne "$view = $match['target'];" est surligné en rouge par Whoops. Quelqu'un a-t-il déjà rencontré ce problème ? Si oui, puis-je avoir un éclaircissement car je ne vois pas très bien d'où vient l'erreur. Merci d'avance ;-)

2 réponses


Salut,

Debug ton code, un petit var_dump($match); die; avant la variable $view devrait te montrer pourquoi ça bug.
$this->router->match() semble retourner un booléen, il faudra aller voir dans la méthode match pour voir ce qu'il se passe.

Salut,
"Trying to access array offset on value of type bool" => tu essaies d'accèder à $match['target'] alors que $match = false.

la fonction match() de $this->router te renvoie un array si match, false sinon.

Si tu regardes à la fin du tuto, il fait :

$match = $this->router->match();
if(is_array($match)) {
    $view = $match['target'];
} else {
    echo "404";
}