CI(CodeIgniter)框架結構介紹

目錄結構說明

  • license.txt 許可協議
  • user_guide 用戶手冊
  • system 框架核心文件
  • application 應用目錄
  • index.php 入口腳本文件

CI中的MVC架構

  • 入口文件:唯一一個讓瀏覽器直接請求的腳本文件
  • 控制器(controller):協調模型和視圖
  • 模型(model):提供數據,保存數據
  • 視圖(view):蒐集用戶輸入、創建並提交表單、做顯示作用
  • 動作(action):是控制器中的公開方法,用於被瀏覽器請求

訪問URL形式:CI框架採用的是一種pathinfo的url訪問形式,如:localhost/index.php/Welcome/index。從這個例子可以知道訪問的是Welcome控制器中的index方法。可以認爲url的結構是這樣的:IP/入口腳本文件/控制器/動作。

application目錄:

  • controllers 控制器
  • models 模型
  • views 視圖
  • 當第一次使用CI框架時,默認的控制器爲Welcome,默認動作爲index。

CI中的控制器

  • 在CI框架中,控制器在定義時不用加上controller後綴,控制器的名字和定義的類名一致;
  • 在定義一個新的控制器時,需要直接或者間接繼承CI_Controller類;
  • 在類中,只有public關鍵字修飾的方法才能作爲被瀏覽器訪問的動作。

CI中的視圖

  • 在CI框架中,若要加載一個視圖文件,如welcome_message.php文件,需要使用$this->load->view(‘welcome_message’)方法進行視圖加載。

  • CI框架與其它框架在視圖編輯上不同。CI框架使用原生的PHP來編輯視圖,不使用像smarty之類的模板引擎。

    //一個簡單的原生PHP表格
    <table border="l">
    	<tr>
    		<td>編號</td>
    		<td>姓名</td>
    		<td>郵箱</td>
    	</tr>
    	<?php foreach($list as $item):?>
    	<tr>
    		<td><?=$item['id']?></td>
    		<td><?=$item['name']?></td>
    		<td><?=$item['mail']?></td>
    	</tr>
    	<?php endforeach;?>
    </table>
    

CI中的超級對象($this) 持續更新。。。。。。

  • CI框架的$this對象是一個控制器對象,包含有很多屬性,我們定義的控制器對象依賴於這些屬性來提供服務。

  • $this->load:一個加載器,通過$this->load->view('文件');來加載一個視圖。裝載器的實例在文件 system/core/Loader.php文件中定義。該屬性可以用於加載視圖 (view())、分配變量到視圖(vars())、裝載數據庫對象(database())、裝載模型對象(model())、裝載插件(helper())。

  • $this->uri:是CI_URI類的實例,用於實現與URL相關的功能。可以通過$this->uri->segment(n);來獲取URL中第n段的值(這與CI框架採用pathinfo形式的URL有關)。傳統的URL:入口文件/控制器/動作/參數1/值1/參數2/值2…,而爲了簡便URL,則採用的URL形式爲:入口文件/控制器/動作/值1/值2…,這樣的URL可以使用$this->uri->segment(n);來取第n段的值。

    //URL: .../入口文件/控制器/動作/值1/值2
    $this->uri->segment(3);//值1
    $this->uri->segment(4);//值2
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章