我不太確定這是否通過重寫URL完成,但我不知道如何相應標題。 這是我的問題。我目前正在研究一個網站項目,我正在使用MVC框架的抽象(主要是爲了學習框架)。 這是我的文件夾結構的樣子:在某個MVC框架中重寫URL?
/controller/
|--indexcontroller.php
/myaccount/
|--/controller/
|--indexcontroller.php
|--index.php
/globals/
|--framework.php
/templates/
/options/
|--settings.php
|--config-www.php.inc
所以目前我使用自動加載器加載至極需要的類。在我的帳戶文件夾中的index.php繼承Framework類至極應該處理的類加載:
$urlparts = explode("/", $_SERVER['REQUEST_URI']);
$urlparts2 = explode("?", $urlparts[2]);
$class = str_replace(".php", "", $urlparts2[0]);
if ($class == "") {
$class = "index";
}
$letters_first = substr($class, 0, 1);
$letters_last = substr($class, 1, strlen($class));
$class = strtoupper($letters_first).$letters_last."Controller";
if (class_exists($class)) {
$object = new $class();
} else {
echo "Problem: class $class does not exist.";
}
我目前所面對的問題是,我只能用「http://www.url.com/myaccount /「,這是從myaccount(這很好)從控制器文件夾中加載indexcontroller.php。但是我也希望能夠使用「http://www.url.com/myaccount/profile」,然後在myaccount控制器文件夾中調用「profilecontroller.php」。
我該怎麼做? URL重寫?還是我做的完全錯了?如果您需要更多信息,請告訴我。
在此先感謝。
我會試試看。非常感謝。 – puelo