CodeIgniter環境搭建及默認訪問控制器的變動

環境搭建

  1. 使用XAMPP快速搭建環境
  2. CodeIgniter官網下載壓縮包(當前最新版本3.1.9)
  3. 將下載的壓縮包解壓更名爲ci_news,並放置在 C:/xampp/htdocs/dashboard/ 文件夾下,如須要變動訪問文件夾,請閱讀步驟4,如不變動,請閱讀步驟5
  4. 變動訪問配置文件在 C:/xampp/apache/conf/httpd.conf 文件,將 C:/xampp/htdocs 改成自定義地址
  5. 訪問 http://localhost/dashboard/ci_news/ 如圖即框架搭建成功

框架目錄結構

此處僅做簡單描述,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

相關文章
相關標籤/搜索