[php]初探CodeIgniter

LingNi-Lee
4 min readMar 6, 2020

--

筆記一下,使用CI3

公司使用php寫後端,框架使用CI,友人說直接學CI就好,php遇到再慢慢補,因為太菜完全不懂什麼意思,經過二週的地獄洗禮終於有點感受。

之前只寫過JavaScript跟node.js,比較熟悉的就是Express.js框架,因此學php也是用node.js的概念去比,最大的差異就是自己手殘,php變數的那個$每次都忘記加!

筆記一下CI小心得,使用xampp一整包直接把php開發環境整合好給你,好處是可以直接開發,壞處是出了問題不知道哪邊不對,xampp包含Apache伺服器與php、Perl及MariaDB資料庫,mac內建也有php,弄不好還會互相干擾造成bug。

CI的安裝算簡單,就是載一個壓縮檔下來然後把他解壓縮就會出現下圖的資料夾,比Express方便一些直接幫你把資料夾分類好了,Express要載額外套件才不用手動設置

CI框架

基本上我會把user_guide刪掉,裡面有介紹一些如何使用CI,目前還有仔細研究內容,應該有些小tips,之後有空再把它開來瀏覽一下

system資料夾不碰,如果是使用CI2的想更新到CI3,只需要把system刪除丟新版system資料夾進去即可

主要操作都在application上,CI遵守MVC,把model、view、controller完全分離,model設定對資料庫的操作動作,基本上就是CRUD,view來顯示畫面,controller用來做後端邏輯判斷,判斷完後使用model設定好的動作來跟資料庫做溝通。

application

圖中四個劃線的部分是使用CI開發簡單網頁會用到的四個資料夾,third_party我還沒用過,不過估計是支援第三方套件用的

開啟CI_project後,就會出現welcome頁面

光是研究怎麼把這個換成我要的首頁就花一小時

要編輯這頁的話可以去application/views中找到對應檔案來修改,預設控制器為application/controller中的Welcome.php,要改為自己要用的控制器有一些部分要做修正

  1. application/config/routes.php中修改預設controller:
    $route[‘default_controller’] = ‘welcome’
    這邊的controller對應到application/controller中的Welcome.php
    default_controller是進入此資料夾時第一個執行的controller
  2. application/controller/Welcome.php中修改Welcome.php內容
class Welcome extends CI_Controller {//Welcome改為需使用的controller名稱,第一字為大寫   public function index()//url顯示index,為預設頁面   {   $this->load->view('welcome_message');
//讀取view資料夾中welcome_message.php
} //新增其他頁面:url為 welcome/test
public function test()
{
$this->load->view('/test/test');
//讀取在view資料夾下test資料夾中的test.php檔來render頁面
}
....//以下新增其他路由
}

CI的網址是利用controller集public function控制,預設的路由為:http://localhost/welcome/index.php/index,通常會使用.htaccee來把index.php隱藏掉,讓網址更好看。

3.控制器更改完後去view資料夾底下會找到welcome_message.php,這就是預設畫面內容

剛上班二週寫的文章一直忘記發,整理自己理解CI的邏輯

--

--