Ben yapıyorum benim yeni özel MVC çerçevesi için basit bir yönlendirme sistemi kuruyorum.
Şu anda benim yönlendirici sınıfı gibi URL views:
www.example.com/controller/controller_action/some/other/params
Yani, aslında ... Ben denetleyici yönlendirme için URI ilk iki bölümü rezerve ettik. Ancak, ben sadece aşağıdaki çalıştırmak ne isterseniz?
www.example.com/controller/some/other/params
... Hangi sadece varsayılan denetleyicisi eylem çalıştırmak ve buna ekstra params göndermek girişimi olacak mı?
İşte kullanarak basit bir router im:
\* --- 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();
}
Herhangi bir yardım / yorum harika olurdu, teşekkürler!