亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

direktori cari
歡迎 目錄 快速參考圖 基本信息 服務器要求 許可協(xié)議 變更記錄 關于CodeIgniter 安裝 下載 CodeIgniter 安裝指導 從老版本升級 疑難解答 介紹 開始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應用程序流程圖 模型-視圖-控制器 架構目標 教程 內容提要 加載靜態(tài)內容 創(chuàng)建新聞條目 讀取新聞條目 結束語 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類庫 創(chuàng)建你自己的類庫 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類 鉤子 - 擴展框架的核心 自動裝載資源 公共函數(shù) URI 路由 錯誤處理 緩存 調試應用程序 以CLI方式運行 管理應用程序 處理多環(huán)境 PHP替代語法 安全 開發(fā)規(guī)范 類庫參考 基準測試類 日歷類 購物車類 配置類 Email 類 加密類 文件上傳類 表單驗證詳解 FTP 類 圖像處理類 輸入類 Javascript 類 語言類 裝載類 遷移類 輸出類 分頁類 模板解析器類 安全類 Session 類 HTML 表格類 引用通告類 排版類 單元測試類 URI 類 User-Agent 類 表單驗證 XML-RPC 和 XML-RPC 服務器 Zip 編碼類 緩存適配器 適配器參考 適配器 數(shù)據庫類 Active Record 類 數(shù)據庫緩存類 自定義函數(shù)調用 數(shù)據庫配置 連接你的數(shù)據庫 數(shù)據庫快速入門例子代碼 字段數(shù)據 數(shù)據庫維護類 查詢輔助函數(shù) 數(shù)據庫類 查詢 生成查詢記錄集 表數(shù)據 事務 數(shù)據庫工具類 JavaScript類 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
watak

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請 登錄 或 注冊  找回密碼
查看原文

教程 ? 加載靜態(tài)內容

注意: 本教程假定你已經下載和安裝了CodeIgniter開發(fā)環(huán)境。

首先,你需要創(chuàng)建一個可以處理靜態(tài)內容請求的控制器類??刂破?,是一個用來代理完成某項任務的PHP類,它充當基于MVC架構應用程序的“粘合劑”(譯者注:控制器用來粘合/協(xié)調不同模型和視圖。隨著教程的深入,你會更深刻的理解這一點)。

舉例來說,假設存在某個針對如下URL的請求: http://example.com/news/latest/10 仔細觀察此URL地址,我們可以猜測它所完成的任務:存在某個類名為"news"的控制器,調用此類下的"latest"方法用來提取10條最新新聞,然后解析顯示在最終瀏覽器頁面上。在基于MVC架構思想的應用程序中,我們經常會見到如下典型URL格式: http://example.com/[控制器類名]/[控制器方法名]/[所需參數(shù)] 在實際項目中,以上典型格式可能會存在變化趨于復雜。但到目前為止,了解這一典型格式已然足夠。

創(chuàng)建一個控制器文件application/controllers/pages.php,并編寫如下代碼:

你已經創(chuàng)建了一個名為"pages"的類, 包涵一個視圖的方法,并定義了一個名為 $page 的參數(shù)。 這個pages類繼承了CI_Controller類。這就意味著 這個新的pages類可以繼承CI_Controller (system/core/Controller.php) 類里面定義的方法和變量。

這個控制器會成為你的網站程序每次請求的中心。 在非常技術性的CodeIgniter的討論中,我們把它稱為 超級對象。就像任何php類一樣,在你自己的控制器中,使用$this來調用它,這樣就可以實現(xiàn)用 $this 來加載所有變量、視圖和對這個框架進行一般操作。

現(xiàn)在你已經創(chuàng)建了自己的第一個方法,是時候來做幾個基礎的頁面模板了。我們將要創(chuàng)建兩個 "視圖" (模板頁面) ,也就是頁面的頁頭(header)和頁腳(footer)。

創(chuàng)建頁頭文件 application/views/templates/header.php ,代碼如下。

頁頭文件包括在正式加載視圖前需要的基本的HTML代碼。同時,這里還輸出了 $title 函數(shù),一會兒我們會在控制器中對它進行定義?,F(xiàn)在我們來創(chuàng)建一個頁腳 application/views/templates/footer.php ,代碼如下:

為控制器添加邏輯結構 (Adding logic to the controller)

之前你創(chuàng)建了一個控制器并定義了一個方法view()。這個方法里定義了一個參數(shù),它的值是即將加載的頁面的名稱。靜態(tài)頁面的模板將被放在 application/views/pages/ 文件夾中。

在那個文件夾中需要創(chuàng)建兩個文件,分別為 home.phpabout.php。在這兩個文件中敲一些任何你喜歡的內容進去并保存。如果你喜歡特別不尋常的內容,可以試試敲“Hello World!”。

為了能加載那些頁面,你需要檢查一下它們是否存在:

public function view($page = 'home')
{
      
  if ( ! file_exists('application/views/pages/'.$page.'.php'))
  {
    // 頁面不存在
    show_404();
  }
  
  $data['title'] = ucfirst($page); // 將title中的第一個字符大寫
  
  $this->load->view('templates/header', $data);
  $this->load->view('pages/'.$page, $data);
  $this->load->view('templates/footer', $data);

}

此時,如果頁面存在,它將被加載,同時,頁頭和頁腳也會顯示出來。如果頁面不存在,那么就會顯示404錯誤頁面。

這個方法中的第一行是檢查文件是否存在的,使用的是PHP自帶的函數(shù) file_exists() 。show_404() 是CodeIgniter中的函數(shù),用來調用404錯誤頁面。

在頁頭模板(header.php)中,我們用 $title 變量來自定義頁面標題(<title>)。而這個變量的值,我們現(xiàn)在在這個方法中對它進行了定義。不過,我們并沒有將這個值直接賦給變量,而是將它作為一個元素賦給了 $data 數(shù)組。

最后一項,按照需要顯示的順序來加載那些視圖。 view() 方法中的第二個參數(shù)是用來傳遞值給視圖的。數(shù)組中的每個值都被定義成與它關鍵字相同的一個變量,如控制器中 $data['title'] 的值就等同于視圖中變量$title。

設置路由(Routing)

這個控制器現(xiàn)在可以工作了,在瀏覽器中鍵入后面的地址 [你的網址]index.php/pages/view 就可以看到。輸入 index.php/pages/view/about 也可以看到about頁面,也是帶頁頭和頁腳的哦。

根據自定義路由的規(guī)則,你也可以自己定義任何控制器和方法的URI,這樣就可以擺脫下面的既定規(guī)則了。 http://example.com/[controller-class]/[controller-method]/[arguments]

我們來試試吧。打開路由文件 application/config/routes.php ,并添加下面兩行代碼,并刪除 $route 數(shù)組中的其他代碼。

$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';

在CodeIgniter里,路由規(guī)則是按照從上到下的順序讀取的,而其中設定路由的請求是第一個被讀到的。沒有規(guī)則從左到右都是 控制器名斜線(/)方法名 的組合。請求出現(xiàn)的時候,CodeIgniter就開始最合適的內容進行匹配,調用適當?shù)目刂破骱头椒?,也可能調用參數(shù)。

更多關于路由設置的信息都在 URI 路由 文檔 里。

回到上面的代碼,第二行是指利用通配符 (:any) 可以使任何請求都能匹配到 $routes 數(shù)組,并且通過參數(shù)傳遞給pages類的view()方法。

現(xiàn)在,訪問下 index.php/about. 看看是不是已經能正確地顯示頁面了呢?贊!

?

翻譯貢獻者: borisauschina, cnsaturn, Hex, irini, syrdxb, zzdjk6
最后修改: 2012-04-23 09:47:38
Artikel sebelumnya: Artikel seterusnya: