跟著阿大學CodeIgniter (一)——瞭解MVC

跟著阿大學CodeIgniter (一)——瞭解MVC
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

有的沒的

青峰大輝
阿大鎮文(-_-メ)~
阿大你太黑了,回去洗把臉看看有沒有救~

學習背景

CI是一個比較流行的PHP MVC框架,CI的文件完善和資源豐富,適合初學~
按照我覺得比較高效的學習方法:瞭解基本語法 -> 學會使用一個流行的框架 -> 反過來在用原生語言自己實現一個框架

關於CodeIgniter

codeigniter是一套給 PHP 網站開發者使用的應用程式開發框架和工具包。它提供一套豐富的標準庫以及簡單的介面和邏輯結構,其目的是使開發人員更快速地進行專案開發。使用 CodeIgniter 可以減少程式碼的編寫量,並將你的精力投入到專案的創造性開發上。

什麼MVC

M:Model,模型,通常包括對資料庫的操作
V:View,檢視,給使用者看的頁面,模板
C:Controller,控制器,接收使用者請求,讓M和V執行操作,生成頁面返回到使用者端

準備工作

下載CI框架
解壓放置開發目錄
開啟本地伺服器(這裡我使用的是apache和mysql)

控制器

一個控制器就是一個類檔案,使用者通過URL訪問的就是某個Controller的類的某個成員方法。
檔案放在application/controllers裡
類名首字母必須大寫,並繼承CI的類CI_Controller
訪問的路徑為:localhost/專案名/入口/控制器名/控制器的方法[/引數]。
若需要傳參,訪問時在地址後加’/引數值’

例如,把下面檔案儲存為ci/application/controllers/hello.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); //防止直接通過檔案路徑訪問
class Hello extends CI_Controller {
public function sayhello($n) {
echo $n  ;
}
}

訪問http://localhost/ci/index.php/hello/sayhello/segmentfault, 就可以在頁面上看到’segmentfault’。

檢視

檔案放在application/views裡
通過控制器可以合成頁面
在控制器中的呼叫方法:$this -> load -> view(檢視名, 引數陣列);

例如:用一個控制器,呼叫幾個檢視,顯示點文字

ci/application/controllers/hello.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Hello extends CI_Controller {
public function index() { // 如果訪問index方法,url可省略此方法名
$name = 'Da';
$word = 'SegmentFault';
$data = array('v_name' => $name, 'v_word' => $word); 
// 把變數合成一個陣列,以便傳入檢視。帶'v'字首的是在檢視裡引用的變數名,我故意做得帶區別一些。
$this -> load -> view('welcome.php', $data);
$this -> load -> view('foot.php');
// 可以同時呼叫多個檢視。如果是呼叫php檔案,可省略字尾
}
}

ci/application/views/welcome.php

<p><?= $v_name;?> recommends <?= $v_word;?> to you.</p>

ci/application/views/foot.php

<p>I'm footer.</p>

訪問http://localhost/ci/index.php/hello, 就可以在頁面上看到

Da recommends SegmentFault to you.
I’m footer.

小練習——檔案操作

功能:每重新整理一次頁面,頁面上的數字加一
ci/application/controllers/counter.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Counter extends CI_Controller {
public function index() {
$c = file_get_contents('./num.txt'); 
$c = $c ? $c : 0; //如果檔案不存在,則設初始值0
$data = array('v_c' => $c);
$c  ;
$re_f = fopen('./num.txt', 'w');
fwrite($re_f, $c);
fclose($re_f);
$this -> load -> view('count.php', $data);
}
}

ci/application/views/count.php

<p><?= $v_c;?></p>

訪問http://localhost/ci/index.php/counter 重新整理看看吧~

本系列文章

跟著阿大學CodeIgniter (一)——瞭解MVC
跟著阿大學CodeIgniter (二)—— 檔案上傳
跟著阿大學CodeIgniter (三)—— 運算元據庫

本系列文章前五章根據php100 2012 15到20課的視訊學習整理並加入自己的內容而成

相關文章

程式語言 最新文章