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 :
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
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 ?