<?php ini_set('display_errors', 1); require 'vendor/autoload.php'; $router = new App\Router\Router($_GET['url']); $router->get('/', "Accueil#index"); // page qui ne sert à rien ;) $router->get('/connect', "Connect#index"); // par défault on retourn "Mouhahahaa t'as cru quoi toi !". Ou alors on dit juste "bonjour". $router->post('/connect/:id', "Connect#firststep")->with('id', '[0-9]+'); // on chope un id et on retourne le token_key $router->post('/connect/:token_key-:pass', "Connect#secondstep")->with('token_key', "[a-zA-Z0-9]+")->with('pass', "[a-zA-Z0-9]+"); // on vérifie que le token_key existe, // on dé-hash le mdp et on le re-hash avec la clé serveur // si aucune erreur, on retourne true // ET on revoie la clé d'iD tout en mettant la date à 0. // Le token_key est en fait la clé de hash coté utilisateur, mais générée coté serveur. Ainsi le mdp n'apparait jamais en clair. // On envoit donc la token_key fraichement générée et rangée dans un tableau 'token_key_table', et une fois qu'il est utilisé, on le supprime (la table doit donc etre vide la plupart du tps) // lorsque le serveur a vérifié que le mdp est correct, le token_key devient la clé d'iD de la famille (et non plus son id qui elle etant fixe est reperable). // A partir de maintenant, dès que la connection est établie : chaque objet JSON doit avoir en premier parametre la clé d'iD dans le champ 'KEY'. // POUR TOUTE LA SUITE ON SUPPOSE LA CONNEXION ETABLIE, ET ON SUPPOSE QUE LA VERIFICATION SE FERA PAR L'APPEL D'UNE FONCTION GLOBALE. // Trois différentes requetes /* SELECT : $router->get(...); // avec des parametre url pour filtrer par champs par exemple INSERT : $router->post(/create/...); UPDATE : $router->post(/update/...); */ // Ordre/Menu /* INSERTs (creations)
<?php // gestion des erreurs ini_set('display_errors', 'on'); error_reporting(E_ALL); // on appel l'autoloading require "vendor/autoload.php"; // on créé un objet $router $router = new App\Router\Router($_GET['url']); // exemple de route créé par le router $router->get("/", function () { echo "Bonjour"; }); $router->get("/posts", function () { echo "Tous les articles"; }); $router->get("/posts/:slug-:id", function ($slug, $id) use($router) { echo $router->url('post.show', ['id' => 1, 'slug' => 'salut-les-gens']); }, 'post.show')->with('slug', '[a-z\\-0-9]+')->with('id', '[0-9]+'); // $router->get("/posts/:id", function($id) { echo "Afficher l'article ".$id; }); $router->get("/posts/:id", "Posts#show"); $router->post("/posts/:id", function ($id) { echo "Poster pour l'article " . $id; }); // on démarre l'application $router->run();