Bonjour à tous, j'espère que vous passez un bon weekend, j'ai un soucis que je n'arrive pas à résoudre. J'ai un fichier index qui me sert de routeur et donc d'afficher les vues mais il ne fonctionne pas convenablement.
Voici le code :
PHP
<?php
define('ROOT', dirname(__DIR__));
require ROOT . '/app/App.php';
App::load();
if(isset($_GET['p'])){
$page = $_GET['p'];
}else{
$page = 'posts.index';
}
$page = explode('.', $page);
if($page[0] == 'admin'){
$controller = '\App\Controller\Admin\\' . ucfirst($page[1]) . 'Controller';
$action = $page[2];
} else{
$controller = '\App\Controller\\' . ucfirst($page[0]) . 'Controller';
$action = $page[1];
}
$controller = new $controller();
$controller->$action();
Et mon lien github est le suivant : https://github.com/EKreir/mvcpaths
Ce que je veux
Je veux qu'il affiche mes pages de mon site sans problème
Ce que j'obtiens
J'ai une page blanche avec cette erreur dans le terminal : 127.0.0.1:42412 [500]: GET / - Uncaught Error: Failed opening required '/home/eliess/mvc/app/Controller/PostsController.php' (include_path='.:/usr/share/php') in /home/eliess/mvc/app/Autoloader.php:24
Stack trace:
thrown in /home/eliess/mvc/app/Autoloader.php on line 24
Hello :)
Alors le soucis c'est que tu as mal nommé le PostsController, tu l'as nommé PostController (sans "s") et le routeur essaye de require PostsController (avec "s")