'기본 동작'의 의미에 조금 의존합니다.
$router = new AltoRouter();
$router->setBasePath('/example.com');
$router->map('GET','/', 'HomeController#index');
$match = $router->match();
if ($match === false) {
header($_SERVER["SERVER_PROTOCOL"].' 404 Not Found');
} else {
list($controller, $action) = explode('#', $match['target']);
if (is_callable([$controller, $action])) {
$obj = new $controller();
call_user_func_array([$obj, $action], [$match['params']]);
} else {
// here your routes are wrong.
// Throw an exception in debug, send a 500 error in production
}
}
을 :
당신이 의미하는 경우
적용됩니다, 링크 된 github의 문제 (그리고
the AltoRouter website)의 다음 단순화 된 버전 "내가 어떻게
'/'
경로 내
HomeController
클래스에
index()
방법으로 이동해야합니까"
#
은 완전히 임의입니다. 컨트롤러 이름과 호출되는 메소드를 구분하는 데 사용되는 구분 기호입니다.
laravel은 비슷한 종류의 라우터 - 컨트롤러 표기법 (예 :
[email protected]
)에
@
을 사용합니다.
당신이 "의심, 기본 작업으로 홈 페이지를 표시하는 경우"다음은 위의 상당히 비슷하게 의미하는 경우, 유일한 차이점은 404 경로가 간단 할 것 같습니다
if ($match === false) {
$obj = new HomeController();
$obj->index();
} else {
// etc.
}