【ci框架】精通CodeIgniter框架視頻教程即將錄制
來(lái)源:程序員人生 發(fā)布時(shí)間:2014-09-23 12:54:12 閱讀次數(shù):4734次


1、codeigniter框架的授課內(nèi)容安排
2、codeigniter框架的簡(jiǎn)介
|-----關(guān)于框架的概念
|-----使用CI框架的好處
|-----為什么選擇CI框架
3、codeigniter框架的具體安裝步驟
|-----官網(wǎng)下載:http://www.codeigniter.com/
|-----httpd.conf配置文件中rewrite重寫(xiě)機(jī)制的開(kāi)啟
|-----httpd.conf配置文件虛擬主機(jī)的開(kāi)啟
|-----httpd-vhosts.conf配置文件中虛擬主機(jī)的配置
|-----hosts文件中添加DNS映射
4、codeigniter框架的目錄結(jié)構(gòu)分析
|-----框架目錄結(jié)構(gòu)分析
|-----項(xiàng)目部署
5、codeigniter框架中URL各部分的分析及簡(jiǎn)單的工作原理:http://域名/入口文件/模塊名/控制器/方法/參數(shù)列表
6、codeigniter框架詳細(xì)執(zhí)行流程分析:如果沒(méi)有模塊文件夾的話,則為:http://域名/入口文件/控制器/方法/參數(shù)列表
7、codeigniter框架中config.php配置文件的分析
8、codeigniter框架中使用rewrite重寫(xiě)機(jī)制隱藏index.php單一入口文件
9、codeigniter框架中控制器
|-----控制器的創(chuàng)建位置
|-----控制器的命名規(guī)范
|-----控制器文件的分目錄管理
|-----方法的命名規(guī)范:1、不能以list命名 2、方法名與類名不同名
|-----方法中如何獲取GET方式提交過(guò)來(lái)的數(shù)據(jù)
|-----方法中如何獲取POST方式提交過(guò)來(lái)的數(shù)據(jù)
10、codeigniter框架中視圖
|-----視圖的創(chuàng)建位置:appcation/views/ 目錄下
|-----視圖的命名規(guī)范:login.php login.html
|-----如何在控制器中載入視圖模板文件:$this->load->view("login"); $this->load->view("login.html");
|-----如何在控制器中給視圖模板文件傳遞數(shù)據(jù):$this->load->view("login.html",$data);//extract函數(shù)
|-----視圖模板文件的分目錄管理:$this->load->view("admin/category/addcategory.html");
11、codeigniter框架中的模型
|-----模型的創(chuàng)建位置:application/models 目錄下
|-----模型的命名規(guī)范:不區(qū)分大小寫(xiě),建議首字母大寫(xiě)
|-----如何在控制器中載入模型(自動(dòng)加載和手動(dòng)加載):$this->load->model("user_model");
|-----模型文件的分目錄管理:$this->load->model("admin/user_model");
12、codeigniter框架中如何擴(kuò)展控制器、模型
|-----基控制器的擴(kuò)展:class Common extends CI_Controller{}
|-----基模型的擴(kuò)展:class Model extends CI_Model{}
13、codeigniter框架中數(shù)據(jù)庫(kù)操作
|-----連接mysql數(shù)據(jù)庫(kù)的配置:application/config/database.php
|-----如何在模型中連接mysql數(shù)據(jù)庫(kù)(自動(dòng)載入和手動(dòng)載入):$this->load->database();
|-----使用普通查詢操作完整數(shù)據(jù)的增刪改查操作:1、$this->db->query($query);//結(jié)果集
|-----使用快捷操作類完成數(shù)據(jù)的增刪改查操作:將sql語(yǔ)句的拼接放在成員方法中進(jìn)行
|-----用戶管理系統(tǒng)-管理員的查詢
|-----用戶管理系統(tǒng)-管理員的添加
|-----用戶管理系統(tǒng)-管理員的修改
|-----用戶管理系統(tǒng)-管理員的刪除
14、codeigniter框架中輔助函數(shù)
|-----輔助函數(shù)的位置:application/helpers 目錄 或 system/helpers 目錄
|-----如何在控制器中載入輔助函數(shù):$this->load->helper("url");//載入url_helper.php文件
|-----自定義輔助函數(shù)
|-----輔助函數(shù)的擴(kuò)展
|-----輔助函數(shù)的載入機(jī)制:首先考慮載入application/helpers 目錄下的文件,再考慮載入system/helpers 目錄下的文件
|-----用戶管理系統(tǒng)-頁(yè)面的跳轉(zhuǎn):header("location:".site_url("admin/login/"));//創(chuàng)建一個(gè)url,并跳轉(zhuǎn)
15、codeigniter框架中的配置文件
|-----配置文件的位置:application/config/ 目錄下
|-----如何在CI項(xiàng)目的控制器中載入配置文件(手動(dòng)載入和自動(dòng)載入):$this->config->load("pagination");
|-----如何自定義配置文件:application/config/pagination.php 配置項(xiàng)變量名必須是 $config['配置項(xiàng)']
|-----配置文件中配置項(xiàng)的命名規(guī)范:$config['配置項(xiàng)']
|-----如何動(dòng)態(tài)給配置項(xiàng)設(shè)置值:$this->config->set_item("配置項(xiàng)","配置項(xiàng)值");
|-----如何將分頁(yè)配置寫(xiě)到配置文件中
|-----如何將配置文件合并:$this->config->load("pagination",true);//參數(shù)2:true
16、codeigniter框架中的通用類庫(kù)
|-----通用類庫(kù)的位置:application/libraries/ 目錄 system/libraries/ 目錄
|-----如何在ci項(xiàng)目的控制器中載入通用類庫(kù):$this->load->library("upload");//文件上傳類庫(kù)的載入
|-----通用類庫(kù)的載入機(jī)制:優(yōu)先考慮載入application/libraries/ 目錄下類庫(kù),其次考慮載入 system/libraries 目錄下類庫(kù)
|-----分頁(yè)類庫(kù)的載入(定制分頁(yè)風(fēng)格):$this->load->library("pagination");
|-----用戶管理系統(tǒng)-管理員列表頁(yè)分頁(yè)功能的完成
17、codeigniter框架與smarty模板引擎的無(wú)縫整合
|-----如何將第三方類庫(kù):smarty模板引擎整合到CI項(xiàng)目中來(lái)
|-----如何在控制器中載入smarty模板引擎:$this->load->library("tp");
18、codeigniter框架中完成用戶登錄系統(tǒng)
|-----用戶登錄系統(tǒng)-session類庫(kù)的使用
|-----用戶登錄系統(tǒng)-cookie類庫(kù)的使用
|-----用戶登錄系統(tǒng)-使用captache輔助函數(shù)完成圖像驗(yàn)證碼的創(chuàng)建
|-----用戶登錄系統(tǒng)-驗(yàn)證碼原理
|-----用戶登錄系統(tǒng)-session登錄
|-----用戶登錄系統(tǒng)-cookie登錄
|-----用戶登錄系統(tǒng)-增加公共操作控制器(擴(kuò)展系統(tǒng)核心控制器類文件)
|-----用戶登錄系統(tǒng)-cookie的三種使用方式
|-----php原生態(tài)語(yǔ)法結(jié)構(gòu)中設(shè)置cookie的函數(shù)
|-----ci框架的cookie輔助函數(shù)
|-----input類庫(kù)
19、codeigniter框架與ueditor編輯器的無(wú)縫整合
|-----整合步驟
20、codeigniter框架與fckeditor編輯器的無(wú)縫整合
|-----整合步驟
21、codeigniter框架中完成無(wú)限級(jí)分類下拉菜單
|-----無(wú)線遞歸方式完成(比較復(fù)雜一點(diǎn),效率低,不推薦使用)
|-----path方式完成(最為簡(jiǎn)便的方式,幾行代碼就可搞定)
22、codeigniter框架中使用jquery完成省市區(qū)三級(jí)聯(lián)動(dòng)功能
23、codeigniter框架中完成商品分類管理模塊
|-----商品分類管理模塊-添加商品分類
|-----商品分類管理模塊-添加商品子分類
|-----商品分類管理模塊-修改商品分類
|-----商品分類管理模塊-商品分類列表
|-----商品分類管理模塊-商品分類的刪除
|-----商品分類管理模塊-商品分類排序
|-----文件上傳類庫(kù)的使用
|-----圖像處理類庫(kù)的使用
|-----商品分類管理模塊-添加分類banner
|-----如何將文件上傳和圖像處理的有關(guān)配置放到配置文件中
|-----商品分類管理模塊-分類banner列表
|-----商品分類管理模塊-編輯分類banner
|-----商品分類管理模塊-banner的啟用和禁用
|-----商品分類管理模塊-分類banner排序
24、codeigniter框架完成一個(gè)權(quán)限管理系統(tǒng)
|-----權(quán)限管理系統(tǒng)-數(shù)據(jù)表的創(chuàng)建
|-----權(quán)限管理系統(tǒng)-業(yè)務(wù)分析
|-----權(quán)限管理系統(tǒng)-操作權(quán)限管理
|-----權(quán)限管理系統(tǒng)-添加操作權(quán)限
|-----權(quán)限管理系統(tǒng)-修改操作權(quán)限
|-----權(quán)限管理系統(tǒng)-刪除操作權(quán)限
|-----權(quán)限管理系統(tǒng)-模塊管理
|-----權(quán)限管理系統(tǒng)-添加模塊
|-----權(quán)限管理系統(tǒng)-修改模塊
|-----權(quán)限管理系統(tǒng)-刪除模塊
|-----權(quán)限管理系統(tǒng)-角色管理
|-----權(quán)限管理系統(tǒng)-添加角色并為角色設(shè)置權(quán)限
|-----權(quán)限管理系統(tǒng)-為當(dāng)前角色添加操作權(quán)限
|-----權(quán)限管理系統(tǒng)-為當(dāng)前角色刪除操作權(quán)限
|-----權(quán)限管理系統(tǒng)-修改角色
|-----權(quán)限管理系統(tǒng)-刪除角色
|-----權(quán)限管理系統(tǒng)-添加管理員的同時(shí)為管理員設(shè)置多個(gè)角色
|-----權(quán)限管理系統(tǒng)-添加管理員角色
|-----權(quán)限管理系統(tǒng)-修改管理員角色
|-----權(quán)限管理系統(tǒng)-刪除管理員角色
|-----權(quán)限管理系統(tǒng)-當(dāng)前管理員角色列表
25、顯示最后一條查詢的sql語(yǔ)句:主要用于在連貫操作時(shí),檢測(cè)拼接的sql語(yǔ)句是否正確
echo $this->db->last_query();//如:select * from pt_users where uid>10 order by datetime desc limit 0,10
部分截圖如下,敬請(qǐng)期待。。。:


數(shù)據(jù)庫(kù)操作類之間的繼承關(guān)系(區(qū)分?jǐn)?shù)據(jù)庫(kù)普通操作類和數(shù)據(jù)庫(kù)快捷操作類),如圖所示:

模型類分析:CI_Model

模型類分析:CI_Model

數(shù)據(jù)庫(kù)普通操作類(CI_DB_driver)中的query()方法內(nèi)部,通過(guò)$driver= $this->load_rdriver(); $RES= new $driver();兩行代碼加載并實(shí)例化了一個(gè)CI_DB_mysql_result結(jié)果集對(duì)象(總結(jié):以驅(qū)動(dòng)的方式加載結(jié)果集對(duì)象),經(jīng)過(guò)對(duì)結(jié)果集對(duì)象的一些列初始化操作,最終返回此結(jié)果集對(duì)象(總結(jié):query()方法中返回了一個(gè)CI_DB_mysql_result結(jié)果集對(duì)象)
數(shù)據(jù)庫(kù)快捷操作類(CI_DB_active_record)中的get()、insert()等多個(gè)方法內(nèi)部都調(diào)用了數(shù)據(jù)庫(kù)普通操作類中的query()方法,即:間接的返回了CI_DB_mysql_result結(jié)果集對(duì)象
數(shù)據(jù)庫(kù)快捷操作類中很多對(duì)結(jié)果集的操作函數(shù)內(nèi)部都是通過(guò)封裝返回的CI_DB_mysql_result結(jié)果集對(duì)象中的方法來(lái)完成相似功能的(總結(jié):get()、insert()方法內(nèi)部最后調(diào)用了query()方法,并返回query()方法執(zhí)行的結(jié)果,所以返回的也是一個(gè)CI_DB_mysql_result結(jié)果集對(duì)象)
數(shù)據(jù)庫(kù)快捷操作類中的方法其實(shí)只干了一件事情,那就是通過(guò)函數(shù)的方式幫助我們拼接了要執(zhí)行的sql語(yǔ)句,并執(zhí)行該sql語(yǔ)句
但是對(duì)于復(fù)雜的sql語(yǔ)句,尤其對(duì)于復(fù)雜的多表查詢語(yǔ)句,個(gè)人還是建議直接使用數(shù)據(jù)庫(kù)普通操作類中的query()方法(適用于兩個(gè)表以上的情況)
對(duì)于返回的結(jié)果集對(duì)象而言,結(jié)果集對(duì)象中的方法是通用的(總結(jié):CI_DB_mysql_result結(jié)果集對(duì)象中對(duì)結(jié)果集的處理函數(shù)對(duì)于數(shù)據(jù)庫(kù)普通操作類和數(shù)據(jù)庫(kù)快捷操作類是通用的)
我們可以這樣理解:數(shù)據(jù)庫(kù)快捷操作類是對(duì)數(shù)據(jù)庫(kù)普通操作類的二次封裝
提示:數(shù)據(jù)庫(kù)操作類的繼承關(guān)系
class CI_DB_active_record extends CI_DB_driver {
//代碼
}
生活不易,碼農(nóng)辛苦
如果您覺(jué)得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)