Bonjour, lors du passage minute 29 j'ai ce message d'erreur qui apparaît a la place de "Vous voyez?"

Dispatcheur.php

<?php 
    class Dispatcher{
        var $request;
        function __construct(){
            $this->request=new Request();
            Router::parse($this->request->url,$this->request);
            $controller = $this->loadController();
            $controller->view();
        }
        function loadController(){
            $name = ucfirst($this->request->controller).'Controller';
            $file = ROOT.DS.'controller'.DS.$name.'.php';
            require $file;
            $controller = new $name($this->request);
        }
    }
 ?>

includes.php

<?php 
    require 'Request.php';
    require 'Router.php';
    require 'Controller.php';
    require 'Dispatcher.php';
 ?>

Controller.php

<?php 
    class Controller {
    }
 ?>

PagesController.php

<?php 
    class PagesController extends Controller{
        function view(){
            echo 'Vous voyez?';
        }
    }
 ?>

Je n'ai pas trouvé de solution...
Merci de m'aider.

1 réponse


Lanteust
Auteur
Réponse acceptée

En fait j'ai trouvé... l'erreur vient du return, que tu fait dans la vidéo mais sans le dire...

<?php 
    class Dispatcher{
        var $request;
        function __construct(){
            $this->request=new Request();
            Router::parse($this->request->url,$this->request);
            $controller = $this->loadController();
            $controller->view();
        }
        function loadController(){
            $name = ucfirst($this->request->controller).'Controller';
            $file = ROOT.DS.'controller'.DS.$name.'.php';
            require $file;
            return new $name($this->request);
        }
    }
 ?>