国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

CodeIgniter框架學習要點

2019-11-15 02:20:42
字體:
來源:轉載
供稿:網友
CodeIgniter框架學習要點

以下內容從兄弟連的CI教學視頻中摘抄:

http://codeigniter.org.cn/tutorials/

-----------------------------------------------------------------------------------------------

Codeigniter框架

-----------------------------------------------------------------------------------------------

講師:鄒義良

微博:weibo.com/it266

-----------------------------------------------------------------------------------------------

主要內容

CI簡介

深入MVC設計模式

CI中的控制器與視圖

CI中的超級對象

數據庫訪問

AR模型

如何擴展CI的控制器

模型

url相關函數

設置路由

分頁

文件上傳

session

驗證碼

表單驗證

-----------------------------------------------------------------------------------------------

CI是什么?

CodeIgniter是一個輕量級但功能強大的php框架

基于MVC設計模式,提供了一套豐富的類庫

簡單易學,高效實用

官方網站

www.codeigniter.com

中文網站

http://codeigniter.org.cn

下載當前最新版本

CodeIgniter_2.1.4.zip

(截止2015.7.1最新版為3.0.0——筆者注)

有什么特點?

你想要一個小巧的框架

你需要出色的性能

你需要廣泛兼容標準主機上的各種 PHP 版本和配置

CI 2.1.4 需要PHP5.1.6

你想要一個幾乎只需 0 配置的框架

你想要一個不需使用任何命令符的框架

你想要一個不需堅守限制性編碼規則的框架

你不希望被迫學習一門模板語言(雖然可以選擇你喜歡的模板解析器)

你不喜歡復雜,熱愛簡單

你需要清晰,完整的文檔

目錄結構說明

license.txt許可協議

user_guide用戶手冊

syste框架核心文件

application應用目錄

index.php入口文件

-----------------------------------------------------------------------------------------------

MVC

1.入口文件

唯一一個讓瀏覽器直接請求的腳本文件

2.控制器

協調模型和視圖

3.模型

提供數據,保存數據

4.視圖

只負責顯示

表單...

5.動作action

是控制器中的方法,用于被瀏覽器請求

CI中的MVC

訪問url使用的是pathinfo

入口文件.php/控制器/動作

application目錄中:

controllers控制器

models模型

views視圖

默認控制器是welcome

默認動作是index

控制器

1.不需要加后綴

2.文件名全部小寫 例如 user.php

3.所有的控制器,直接或間接繼承自CI_Controller類

4.控制器中,對動作(方法)要求:

public

不能以_開頭

視圖

1.在控制器中如果加載視圖

//直接寫視圖名字,不寫擴展名,如果有子目錄,則寫上目錄名

2.視圖中,直接使用原生PHP代碼

3.推薦使用

<?php foreach($list as $item);?>

<?=$item['name']?>

<?php endforeach;?>

超級對象

當前的控制器對象

提供了很多屬性:

$this->load

裝載器類的實例 system/core/loader.php

裝載器類提供的方法:

view()  裝載視圖

vars()  分配變量到視圖

database()裝載數據庫操作對象

model() 裝載模型對象

helper()

$this->uri

是CI_URI類的實例 system/core/URI.php

CI_URI類提供的方法:

segment()用于獲取uri中的參數

傳統的:入口文件.php/控制器/動作/參數1/值1/參數2/值2

入口文件.php/控制器/動作/值1/值2

echo $this->segment(3);//值1

echo $this->segment(4);//值2

//index.php/控制器/index/6

public function index($p=0){ echo $p;//輸出6

}

$this->input

輸入類

是CI_URI類的實例 system/core/input.php

CI_URI類提供的方法:

$this->input->post('username');//等價于$_POST['username'];

$this->input->server('DOCUMENT_ROOT');//等價于$_SERVER['DOCUMENT_ROOT'];

$this->input->server('REMOTE_ADDR');

在視圖中,直接用$this來訪問超級對象中的屬性

數據庫訪問

修改配置文件

application/config/database.php

將數據庫訪問對象 裝載到超級對象的屬性中 $this->db

$this->load->query($sql);//返回對象

$res=$this->db->query($sql);//返回對象

$res->result();//返回數組,數組中是一個一個的對象

$res->result_array();//返回二維數組,里面是關聯數組

$res->row()//返回第一條數據,直接是一個對象

參數綁定 $sql="select * from blog_user where name=?"; $this->db->query($sql,$name);//如果有多個問號時,需要傳入一個索引數組

表前綴 $db['default']['db

配置為一樣,代碼中,直接硬編碼表前綴就行了,如果以后項目數據庫表前綴發生變化, 只需要修改$db['default']['dbprefix'] = 'new_';代碼中的swap_會自動替換為new_

db的自動加載 application/config/autoload.php $autoload['libraries'] = array(database); 不需要:$this->load->database();

取自增id

$this->db->insert_id();

受影響行數

$this->db->affected_rows();

Active record

1.application/config/database.php

確保$active_record = TRUE;

2.application/config/autoload.php

$autoload['libraries'] = array(database);

3.在配置文件中,正確配置表前綴后,會自動添加

$res->$this->db->get('表名');//返回結果集對象

$res->result();

$bool=$this->db->insert('表名',關聯數組);

$bool=$this->db->update('表名',關聯數組,WHERE條件);

$bool=$this->db->delete('表名',WHERE條件);

//select uid,username from user where uid>=3 order by uid desc limit 2,3

$res=$this->db->select('uid,username')

->from('user')

->where('uid >=',1)

->limit(3,2)//跳過2條,取出3條數據

->order_by('uid desc')

->get();

//顯示最進一條sql語句

echo $this->db->last_query();

//where

//$res=$this->db->where('username','marry')->get('user');

//$res=$this->db->where('username !=','marry')->get('user');

//$res=$this->db->where('username','marry')->get('user');

$res=$this->db->where(array('username'=>'hanyile','uid <'=>3))->get('user');

echo $this->db->last_query();

復雜的查詢請用$this->db->query($sql,$data);//使用問號綁定查詢

擴展CI控制器

application/core/MY_Controller.php

控制器就可以繼承自MY_Controller

application/config/config.php

$config['subclass_prefix'] = 'MY_';

模型

在模型中,可以直接使用超級對象中的屬性


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马边| 漳平市| 龙陵县| 宝兴县| 定陶县| 长沙市| 霸州市| 丹东市| 西乡县| 新河县| 应用必备| 五莲县| 章丘市| 咸宁市| 奇台县| 大埔区| 禹城市| 库尔勒市| 五指山市| 崇阳县| 泸州市| 常熟市| 达尔| 宜宾县| 房产| 广昌县| 石阡县| 新竹市| 井陉县| 成武县| 延吉市| 红原县| 卫辉市| 磐石市| 平和县| 太原市| 衡阳县| 临武县| 平邑县| 周宁县| 茂名市|