Le routeur PHP KODDN est une classe PHP qui peut facilement gérer les itinéraires dans une application PHP, prend en charge plusieurs rappels, redirige et envoie des réponses à Client dans JSON.
Site Web: Koddn Technologies
Lien vers les documents: routeur Koddn PHP
Les médias sociaux Koddn: Facebook, Twitter, Instagram
Développeur de médias sociaux: Facebook, Twitter, Instagram
Pour installer avec Composer:
composer require koddn/php-router
Obtenez le routeur Koddn PHP
// composer auto loader
require __DIR__ . ' /vendor/autoload.php ' ;
use KODDN ROUTER ;
// match get request
ROUTER :: get ( ' / ' , function ( $ req , $ res , $ next ){
// ..do something
$ res -> send ( " Welcome to Koddn Php Router " );
});Ajoutez simplement le fichier src / koddn_router.php dans votre projet;
// composer auto loader
require __DIR__ . ' /src/KODDN_ROUTER.php ' ;
// match get request
ROUTER :: get ( ' / ' , function ( $ req , $ res , $ next ){
// ..do something
$ res -> send ( " Thanks " );
});Vous pouvez utiliser des modèles pour correspondre à la demande
Dans l'exemple ci-dessous, nous capturons l'ID utilisateur de l'URL
// URL => /api/user/111
ROUTER :: get ( ' /api/user/:id ' , function ( $ req , $ res ){
$ id = $ req [ ' params ' ][ ' id ' ];
// $req['params]=>['id'='111']
});Dans l'exemple que nous capturons en utilisant
// URL => /flight/india-usa
ROUTER :: get ( ' /flight/:from-:to ' , function ( $ req , $ res ){
// $req['params]=['from'=>'india','to'=>'usa'];
$ from = $ req [ ' params ' ][ ' from ' ];
$ to = $ req [ ' params ' ][ ' to ' ];
}); // URL => /post-name-apc/123
ROUTER :: get ( ' /*/:postID ' , function ( $ req , $ res ){
// $req['params']=['postID'=>'123'];
$ postID = $ req [ ' params ' ][ ' postID ' ];
// do something
});Nous pouvons utiliser plusieurs fonctions de rappel pour gérer l'itinéraire
ROUTER :: get ( ' /some-url ' , function ( $ req , $ res , $ next ){
// Do something here
echo " START " ;
// call Next Callback, control goes to next callback function
$ next ();
}, function ( $ req , $ res ){
echo " END " ; // task completed
});De plus, si nous voulons que la demande modifiée soit référencée dans le prochain rappel, utilisez & $ req comme paramètre de demande
ROUTER :: get ( ' /dashboard ' , function (& $ req , $ res , $ next ){
// if user authorized
$ req [ ' userID ' ]= " someUserID " ;
$ next ();
}, function (& $ req ){
// now you can have use the req.userID here as well
});Échantillonnez comment nous pouvons l'utiliser comme middleware pour l'authentification
MiddleWares peut être implémenté à l'aide de la méthode "Utiliser"
ROUTER :: use ( ' /user ' , function ( $ req , $ res , $ next ){
ROUTER :: get ( ' /me ' , function ( $ req , $ res , $ next ) {
// do something here
});
});
// OR
ROUTER :: use ( ' /user ' , function ( $ req , $ res , $ next ){
require __DIR__ . " /routes/user.php " ; //
}); ROUTER :: post ( ' /login ' , function (& $ req , $ res , $ next ){
// do the authorize stuff here
if (!authorize){
$ res -> send ( " invalid " );
}
$ next ();
}, function (& $ req , $ res ){
// do something if authorized
// grantAccessToSomething
}); //ROUTER::redirect('/url-to-match', callbackBeforeRedirect, 'redirect to url', $replaceHeaders=false (optional), $redirectCode =301 (optional));
ROUTER :: redirect ( ' /url-to-match ' , function (){ /*do some logs*/ }, ' /new-url ' , $ replaceHeaders = false /*( boolean optional)*/ , $ redirectCode = 301 /*(int optional)*/ );Avec le routeur PHP KODDN, vous pouvez gérer manuellement les réponses, soit vous pouvez utiliser les réponses intégrées.
ROUTER :: post ( ' /about ' , function ( $ req , $ res , $ next ){
$ res -> send ( " About us " );
}); ROUTER :: post ( ' /api/user ' , function ( $ req , $ res , $ next ){
$ userData =[ ' name ' => " Harpal Singh " , ' id ' => 11 ];
$ res -> json ( $ userData );
}); ROUTER :: post ( ' /api/user ' , function ( $ req , $ res , $ next ){
$ res -> setStatus ( 404 )-> send ( ' Not Found ' );
}); ROUTER :: post ( ' /api/user ' , function ( $ req , $ res , $ next ){
// clear all cookies
$ res -> clearCookies ();
// clear specific cookies
$ res -> clearCookies ( ' nameOfCookie ' );
// do something
}); ROUTER :: post ( ' /api/user ' , function ( $ req , $ res , $ next ){
// clear Sessions
$ res -> clearSession ();
// do something
});Il est similaire de mourir ();
ROUTER :: post ( ' /api/user ' , function ( $ req , $ res , $ next ){
// clear Sessions
$ res -> end ();
// do something
}); //ROUTER::redirect('redirect to url', $replaceHeaders=false (optional), $redirectCode =301 (optional));
ROUTER :: post ( ' /api/user ' , function ( $ req , $ res , $ next ){
// clear Sessions
$ res -> redirect ( ' /new-url ' , $ replaceHeaders = false /*(optional)*/ , $ redirectCode = 301 /*(optional)*/ );
// do something
}); ROUTER :: any ( ' /url-to-match ' , function (& $ req , $ res , $ next ){} /*, function(&$req,$res,$next){}*/ );
ROUTER :: post ( ' /url-to-match ' , function (& $ req , $ res , $ next ){} /*, function(&$req,$res,$next){}*/ );
ROUTER :: get ( ' /url-to-match ' , function (& $ req , $ res , $ next ){} /*, function(&$req,$res,$next){}*/ );
ROUTER :: put ( ' /url-to-match ' , function (& $ req , $ res , $ next ){} /*, function(&$req,$res,$next){}*/ );
ROUTER :: delete ( ' /url-to-match ' , function (& $ req , $ res , $ next ){} /*, function(&$req,$res,$next){}*/ );
ROUTER :: redirect ( ' /url-to-match ' , function (){ /*do some logs*/ }, ' /new-url ' , $ replaceHeaders = false /*( boolean optional)*/ , $ redirectCode = 301 /*(int optional)*/ ); ROUTER :: post ( ' /url-to-match ' , function (& $ req , $ res , $ next ){
//
//$req = ['$fullUrl' => $fullUrl, 'url' => $url, 'path' => $path, 'params' => $params, 'rPath' => $rPath];
}); ROUTER :: post ( ' /url-to-match ' , function (& $ req , $ res , $ next ){
//send
$ res -> send ( ' Some Text ' );
//json
$ res -> json ([ ' id ' => 11 , ' name ' => ' Harpal Singh ' ]);
//redirect using response
$ res -> redirect ( ' /new-url ' , $ replaceHeaders = false /*(optional)*/ , $ redirectCode = 301 /*(optional)*/ );
// Exit
$ res -> end ();
// clear all cookies
$ res -> clearCookies ();
// clear specific cookies
$ res -> clearCookies ();
//set Status
$ res -> setStatus ( 404 )-> send ( ' Not Found ' );
});