Bonjour,
j'utilise un code qui fonctionne bien mais je voudrais le comprendre !
J'ai un routeur dans lequel sont définies des routes de la façon suivante :
Donc la fonction getController retourne une variable de type string. Par contre le suffixe ::class spécifie qu'il s'agit d'une classe, non ? Cette syntaxe est-elle décrite quelque part ?
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 function getController(string $path): string { $routes = [... 'connexion' =>'\\PasDePanique\\controller\\'. Connexion::class, ... ] $parts = explode('/', $path); return $routes[$parts[0]] ?? $routes['404']; } puis include 'config/routing.php'; $ctrl_name = getController($path); $ctrl = new $ctrl_name(); $ctrl->invoke(); //chaque contrôleur comporte une méthode invoke
Partager