나는 새로운 커스텀 MVC 프레임 워크를위한 간단한 라우팅 시스템을 만들고있다.간단한 PHP 루팅
현재 내 라우터 클래스는 같은 URL을 볼 :
www.example.com/controller/controller_action/some/other/params
그래서, 기본적으로 ... 나는 컨트롤러 라우팅에 대한 URI의 첫 두 세그먼트를 예약했습니다. 그러나, 단지 다음을 실행하고 싶다면 어떻게해야할까요?
www.example.com/controller/some/other/params
... 기본 컨트롤러 동작을 실행하고 추가 매개 변수를 보내려고합니까? 여기
나는 간단한 라우터를 사용하고 있습니다 :
\* --- htaccess --- *\
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?rt=$1 [L,QSA]
\* --- index.php --- *\
if (array_key_exists('rt',$_GET)) {
$path = $_GET['rt'];
$uri = explode('/',$this->path);
if(empty($uri[0])) {
$load->ctrl('home');
}
elseif(empty($uri[1])) {
$load->ctrl($uri[0]);
}
else {
$load->ctrl($uri[0],$uri[1]);
}
}
else {
$load->ctrl('index');
}
\* --- loader class --- *\
public function ctrl($ctrl,$action=null) {
$ctrl_name = 'Ctrl_'.ucfirst(strtolower($ctrl));
$ctrl_path = ABS_PATH . 'ctrl/' . strtolower($ctrl) . '.php';
if(file_exists($ctrl_path)) { require_once $ctrl_path;}
$ctrl = new $ctrl_name();
is_null($action) ? $action = "__default" : $action = strtolower($action);
$ctrl->$action();
}
나는이 어떻게 할 수
?
어떤 MVC 프레임 워크를 사용하고 있습니까? – Sampson
@Jonathan, 질문에 언급 된대로, 사용자 정의 프레임 워크를 사용하여 (학습을 위해 배우는) ... 따라서 내가 원하는 것을 선택할 수 있습니다.이 문제를 해결할 수있는 간단한 방법이 있어야합니다. 메신저 그냥 그것을 놓치고 ... 감사합니다! – johnnietheblack