此處僅做簡單描述,index.php爲入口文件,system爲框架代碼,編輯的代碼大多寫到application文件夾中,其中models爲模型,views爲視圖,controllers爲控制器,config爲配置文件(後續待補) php
如圖爲默認訪問的控制器 apache
但在實際項目中,爲便於維護,需將php文件放入不一樣文件夾中,例如將controllers文件夾下新建index和adamin先後臺兩個文件夾,在index文件夾中新建Home.php文件,因而將$route['default_controller'] = 'welcome';
複製代碼
改成app
$route['default_controller'] = 'index/home';
複製代碼
但訪問 http://localhost/dashboard/ci_news/ 時報404,經發現,3.1.4版本以後不支持這樣的修改,在system/core/Router.php文件下找到 _set_default_controller 方法框架
if ( ! file_exists(APPPATH.'controllers/'.$this->directory.ucfirst($class).'.php'))
{
This will trigger 404 later
return;
}
複製代碼
將這一段改成codeigniter
if ( ! file_exists(APPPATH . 'controllers/' . $this->directory . ucfirst($class) . '.php'))
{
$path_arr = explode('/', trim($this->default_controller, '/'));
$class = ucfirst($path_arr[1]);
$method = isset($path_arr[2]) ? $path_arr[2]: 'index';
if (file_exists(APPPATH . 'controllers/' . $this->directory . $path_arr[0]. '/' . $class . '.php'))
{
$this->directory .= $path_arr[0]. '/';
}
}
複製代碼
從新訪問 http://localhost/dashboard/ci_news/this