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

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

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請(qǐng) 登錄 或 注冊(cè)  找回密碼
查看原文

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

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

首先,你需要?jiǎng)?chuàng)建一個(gè)可以處理靜態(tài)內(nèi)容請(qǐng)求的控制器類??刂破鳎且粋€(gè)用來代理完成某項(xiàng)任務(wù)的PHP類,它充當(dāng)基于MVC架構(gòu)應(yīng)用程序的“粘合劑”(譯者注:控制器用來粘合/協(xié)調(diào)不同模型和視圖。隨著教程的深入,你會(huì)更深刻的理解這一點(diǎn))。

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

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

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

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

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

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

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

為控制器添加邏輯結(jié)構(gòu) (Adding logic to the controller)

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

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

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

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

}

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

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

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

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

設(shè)置路由(Routing)

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

根據(jù)自定義路由的規(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ī)則是按照從上到下的順序讀取的,而其中設(shè)定路由的請(qǐng)求是第一個(gè)被讀到的。沒有規(guī)則從左到右都是 控制器名斜線(/)方法名 的組合。請(qǐng)求出現(xiàn)的時(shí)候,CodeIgniter就開始最合適的內(nèi)容進(jìn)行匹配,調(diào)用適當(dāng)?shù)目刂破骱头椒ǎ部赡苷{(diào)用參數(shù)。

更多關(guān)于路由設(shè)置的信息都在 URI 路由 文檔 里。

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

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

?

翻譯貢獻(xiàn)者: borisauschina, cnsaturn, Hex, irini, syrdxb, zzdjk6
最后修改: 2012-04-23 09:47:38
?? ??: ?? ??: