php router
1.0.0
KODDN PHPルーターは、PHPアプリケーションのルートを簡単に処理し、複数のコールバックをサポートし、リダイレクトし、JSONのクライアントに応答を送信できるPHPクラスです。
ウェブサイト:Koddn Technologies
ドキュメントへのリンク:koddn phpルーター
ソーシャルメディアKoddn:Facebook、Twitter、Instagram
ソーシャルメディア開発者:Facebook、Twitter、Instagram
作曲家と一緒にインストールするには:
composer require koddn/php-router
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 " );
});プロジェクトにSRC/koddn_router.phpファイルを追加するだけです。
// composer auto loader
require __DIR__ . ' /src/KODDN_ROUTER.php ' ;
// match get request
ROUTER :: get ( ' / ' , function ( $ req , $ res , $ next ){
// ..do something
$ res -> send ( " Thanks " );
});パターンを使用してリクエストに一致させることができます
以下の例では、URLからユーザーIDをキャプチャしています
// URL => /api/user/111
ROUTER :: get ( ' /api/user/:id ' , function ( $ req , $ res ){
$ id = $ req [ ' params ' ][ ' id ' ];
// $req['params]=>['id'='111']
});この例では、使用してキャプチャしています
// 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
});複数のコールバック関数を使用してルートを処理できます
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
});また、編集された要求を次のコールバックで参照したい場合は、リクエストパラメーターとして&$ reqを使用します
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
});認証のためにミドルウェアとして使用する方法をサンプリングします
MiddleWaresは、「使用」メソッドを使用して実装できます
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)*/ );koddn PHPルーターを使用すると、応答を手動で処理できるか、組み込みのものを使用できます。
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
});それはdie()に似ています;
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 ' );
});