Bonjour,
Je souhaite pouvoir lancer des actions dans un contrôleur depuis une url de la forme www.monsite.com/index.html?ctrl=user&action=add.
En PHP Je récupérerais les variables ctrl (user) et action (add) pour lancer la fonction « add » du fichier controller « userController ».
Le code en PHP aurait cette forme :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $ctrl = $_GET['ctrl']; $action = $_GET['action']; require_once('./controller/' . $ctrl . 'Controller.php'); $ctrl = $ctrl . 'Controller'; $controller = new $ctrl($db); $controller->$action();
J’ai trouvé un moyen de faire la même chose sous Node :
Mais ce n'est pas satisfaisant car j'utilise eval()...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 app.get('/index.html', function(req, res) { if (req.query.ctrl && req.query.action){ let ctrl = req.query.ctrl+"Controller"; let action = req.query.action; eval(ctrl+"."+action+"(res)"); } else { … } });
J'ai beau chercher je ne trouve pas de solutions. Est-ce tout simplement parce que Node ne s'y prête pas ?
Merci d'avance pour vos lumières![]()
Partager