[CodeIgniter] 啟航

用框架這件事情拖了很久,一直以來都想學習怎麼使用MVC的框架
但是工作上都是使用瀑布式的網頁...所以只好自己開始了
原本其實是想直接用Laravel的,但是看了文件怎麼看怎麼不懂
就算抓了傳說中的Wagon,安裝好了然後呢?從入門到放棄


相較於Laravel,CodeIgniter就有很多的資源了,而且不需要做環境設定
官方網站抓下來,解壓縮到www下面之後就可以開工啦!
網路上的教學影片也蠻多的,前提是不排斥看英文又聽得懂印度腔
對於框架需不需要composer我是沒有什麼特別的看法,畢竟我現在才剛入門
也不知道composer是好是壞;也不知道不用打command line是好是壞
雖然有人說CodeIgniter不是一個好的框架,對我來說只要找得到工作
可以讓薪水增加的框架就是好框架!

解壓縮完之後我們會看到資料結構像這樣

index.php


就是用戶一進來首先看到的頁面

然後index.php會呼叫controller做點事情


user_guide


這個資料夾,基本上就是離線版的教學手冊

不過是英文的,如果開發者在遇到問題時,可以在本機端開啟離線版教學


system


裡面放的是函式庫、資料庫等,或是說CodeIgniter的核心目錄

官方建議不要動這個目錄,未來如果有推出新版直接替換就可以升級核心


application


網站的主要目錄,在這裡建構網站,包含MVC架構中的

models,views,controllers資料夾,關於需不需要models資料夾網路上曾經有一番論證

但這不是我目前要關注的,如果不喜歡models可以考慮Laravel

之後也會學一下Laravel怎麼用吧。


因為application是主要目錄,所以底下的子資料夾也就有了介紹的意義

config


以下為三個常用的檔案

  1. autoload.php - 當網站載入時自動載入的檔案、函式庫等

  2. database.php - 資料庫連接參數

  3. routes.php - 讓controllers知道下一步該去哪



controllers


接收請求和參數,丟Model處理,再把最新的結果資料塞進View

models


接收controller傳來的資料,處理之後回傳

views



view是顯示給客戶端的內容

而官方用一張圖來表示整個CodeIgniter的資料流向


  1. index.php 檔案是最一開始的 controller,初始化 Codeigniter 基礎資源。

  2.  Router 解釋 HTTP 請求 去找到這個請求該往哪裡走。

  3. 如果 cache 檔案存在,將會直接通過一般系統執行回傳給瀏覽器資料。

  4.  Security。在傳給 application controller 讀取之前,HTTP 請求以及所有使用者送出的資料會通過它來過濾。

  5. Controller 載入 model、core libraries、helpers、以及程式需要的所有特殊資源。

  6. 最後 View 是最終的呈現結果,來送回給瀏覽器。

  7. 如果快取是啟動的,view 會在第一次快取一份,之後使用者在發 HTTP 請求的時候,就會直接回傳這份快取,不需要再通過 Router 了。




第一篇就到這邊好了,接下來應該會先把CodeIgniter摸懂再去想Laravel吧

留言