php router
1.0.0
KODDN PHP 라우터는 PHP 응용 프로그램에서 경로를 쉽게 처리 할 수있는 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
});인증을 위해 미들웨어로 사용할 수있는 방법 샘플
중간 전위는 "사용"방법을 사용하여 구현할 수 있습니다
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
});다이 ()와 유사합니다.
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 ' );
});