CodeIgniter 一個MVC架構的PHP框架

接下來的項目會和Web 技術有關,要使用CodeIgniter,在開始前先來了解下。

CodeIgniter FlowCodeIgniter Flow

  1. index.php 檔案是最一開始的 controller,初始化 Codeigniter 基礎資源。
  2. Router 解釋 HTTP 請求 去找到這個請求該往哪裡走。
  3. 如果 cache 檔案存在,將會直接通過一般系統執行回傳給瀏覽器資料。
  4. Security。在傳給 application controller 讀取之前,HTTP 請求以及所有使用者送出的資料會通過它來過濾。
  5. Controller 載入 model、core libraries、helpers、以及程式需要的所有特殊資源。
  6. 最後 View 是最終的呈現結果,來送回給瀏覽器。如果快取是啟動的,view 會在第一次快取一份,之後使用者在發 HTTP 請求的時候,就會直接回傳這份快取,不需要再通過 Router 了。

玩玩看CodeIgniter

官網有個說明,讓我想到RESTful的設計。


 

當瀏覽器發出一個請求給:http://example.com/news/latest/10我們可以想像那邊有個控制器名為 “news” 。而 news 控制器將會被呼叫的方法(method)為 “latest” 。
這個 latest 方法的工作可能是抓取十個新聞項目,並顯示在頁面上。
這在 MVC 中很常見,你看到的 URL 格式將會是這樣:
http://example.com/[controller-class]/[controller-method]/[arguments];
當 URL 變得更複雜時這可能會改變。但目前來說這就是我們所需要知道的全部了。


 

準備頁面模板

在 application/views/templates/這個資料夾下面,
建立 header.php,放置一些內容,比如下面這些:

建立footer.php,放置一些內容,比如下面這些:

準備Controller

在 application/controllers/資料夾下創建pages.php
其中show_404()是CodeIgniter的方法。

當頁面存在時,會先讀取header和footer,如果不存在則出現404

在控制其中設置了一個view() 方法。
這個方法接受一個參數,這個參數就是將要被讀取的頁面名稱。靜態頁面的模板將會放在 application/views/pages/ 資料夾。

準備View

 

 

參考資料:http://codeigniter.org.tw/userguide3/overview/appflow.html

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *