我想從URL中獲取控件名稱,並在index.php中動態匹配正確的控制器。動態路由與php前端控制器
我的應用程序根:/localhost/app/index.php
所以基本上,當我輸入/localhost/app/index.php/home,試圖inlude home_controller.php。 這裏是代碼;
$parts = array_slice(explode('/',$_SERVER["REQUEST_URI"]),3);
if(file_exists(dirname(__FILE__)."/controllers/".$parts[0].'_controller.php'))
{
include dirname(__FILE__)."/controllers/".$parts[0].'_controller.php';
}
它工作正常,如果應用程序根深度爲3的時候,我改變應用程序目錄像 它打破本地主機/第一/二/應用/ index.php文件/家
因爲它是由3爆炸, $ parts [0]不再是「家」 問題是如何以更有效的方式檢測控制器部分?
你使用codeigniter的方式? – chris
謝謝。我沒有使用CI。在用「/」爆炸後,我仍然會有localhost,第一,第二,app,index.php,home ..我不想在這個數組中找到正確的controller.As你可以看到,它不是有效的。如果URL是localhost/first/second/app/index.php/home/settings,那麼如果反向運行會發生什麼?我只想調用家庭控制器的設置功能。 @chris –
我只想着一些瘋狂的事情大聲笑。對於聽起來可能是你的最終遊戲,這些都不會奏效。 – chris