日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

CI框架简单使用

發(fā)布時(shí)間:2025/7/14 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CI框架简单使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
CodeIgniter框架1、回憶MVC1.1、M:模型,提供數(shù)據(jù),保存數(shù)據(jù) 1.2、V:視圖,只負(fù)責(zé)顯示,表單form 1.3、C:控制器,協(xié)調(diào)模型和視圖 1.4、action:動(dòng)作,是控制器中的方法,用于被瀏覽器請(qǐng)求 2、CI中的MVC CI簡(jiǎn)介:CodeIgniter是一個(gè)輕量級(jí)但功能強(qiáng)大的php框架,基于MVC的設(shè)計(jì)模式。提供了一套豐富的類(lèi)庫(kù) 2.1、訪(fǎng)問(wèn)的url使用的pathinfo 2.2、格式:入口文件/控制器/動(dòng)作(默認(rèn)pathinfo格式) 2.3、application目錄: Controllers控制器 Models模型 Views視圖 2.4、默認(rèn)的控制器是welcome 2.5、默認(rèn)的動(dòng)作是index 2.6、文件名全部小寫(xiě) 3、控制器(controller): 3.1、不需要加后綴,直接是類(lèi)名.php 3.2、文件名全部小寫(xiě),例如 user.php(大寫(xiě)的文件名瀏覽器不支持) 3.3、所有的控制器,直接或間接繼承自CI_Controller類(lèi),類(lèi)名首字母大寫(xiě) 3.4、方法名不區(qū)分大小寫(xiě) 動(dòng)作要求:1.必須以public開(kāi)頭 2.不能以下劃線(xiàn)(_)開(kāi)頭 注意!方法名與類(lèi)名相同,會(huì)被php當(dāng)做構(gòu)造方法(__construct) 4、視圖(view) 4.1、在控制器中加載視圖:$this->load->view(“user_add”);//不加擴(kuò)展名 4.2、在控制器中加載視圖:$this->load->view(“user/add”);//不加擴(kuò)展名 注意:可以多次調(diào)用$this->load->view(視圖); 4.3、視圖中,直接使用原生php代碼 4.4、在控制器中分配變量:$this->load->vars(“視圖中變量名”,php中變量名); 例如:$str=“abcdefg”; $this->load->vars(“str”,$str); 視圖中使用:<?php echo $str;?> 4.5、在控制器中分配多個(gè)變量: 例如:$str=“abcd”; $list = array(“id”=>”1”,”name”=>”zhangsan”,”pwd”=>”1234”); $data[“str”]= $str; $data[“list”]= $list; $this->load->vars($data); 4.6、CI框架會(huì)自己解決php中的短標(biāo)簽<?=…?> 4.7、推薦使用:<?phpforeach($listas $key=>$val):?>…<?php endforeach;?> 5、超級(jí)對(duì)象:當(dāng)前控制器對(duì)象,提供了很多屬性 5.1、$this->load屬性 5.1.1、裝載器類(lèi)的實(shí)例 system/core/Loader.php 5.1.2、CI_Loader提供的方法: $this->load->view()裝載視圖 $this->load->vars()分配變量到視圖 $this->load->database()裝載數(shù)據(jù)庫(kù)操作對(duì)象 $this->load->model()裝載模型對(duì)象 $this->load->helper()幫助對(duì)象 $this->load->view(“視圖名”,$變量名)裝載視圖時(shí)分配變量 5.2、$this->uri屬性 5.2.1、裝載器類(lèi)的實(shí)例 system/core/URI.php 5.2.2、CI_URI提供的方法: $this->uri->Segment(n)用于獲取URL中的第n個(gè)參數(shù) 控制器代表1,動(dòng)作代表2,值1代表3,值2代表為4… 用法1:入口文件/控制器/動(dòng)作/值1/值2 echo $this->uri->segment(3);//輸出值1 用法2:index.php/控制器/動(dòng)作/6 //可以直接獲取;參數(shù)一定要對(duì)應(yīng)正確 publicfunction($id=0){ echo $id;//輸出6 } 5.3、$this->input屬性 5.3.1、裝載器類(lèi)的實(shí)例 system/core/Input.php 5.3.2、CI_Input提供的方法: $this->input->post(‘username’);//$_POST[“username”]; $this->input->server(“DOCUMENT_ROOT”);//$_SERVER[“DOCUMENT_ROOT”] $this->input->server(“REMOTE_ADDR”);//客戶(hù)端IP $this->input->server(“SERVER_ADDR”);//服務(wù)器端IP 注意:在視圖中,可以直接用$this來(lái)訪(fǎng)問(wèn)超級(jí)對(duì)象中的屬性 6、訪(fǎng)問(wèn)數(shù)據(jù)庫(kù) 6.1、修改配置文件:application/config/database.php 6.2、裝載數(shù)據(jù)庫(kù)操作類(lèi):$this->load->database(); 加載成功后,會(huì)放入超級(jí)對(duì)象的屬性中,默認(rèn)屬性名是db $this->db 6.3、$query= $this->db->query($sql);//返回值是對(duì)象(array_fetch_object) $sql = $this->db->last_query($sql);//顯示最后一條執(zhí)行的sql語(yǔ)句 6.3.1、$query= $this->db->escape();//此函數(shù)會(huì)確定數(shù)據(jù)類(lèi)型,對(duì)字符串類(lèi)型數(shù)據(jù)轉(zhuǎn)義 6.4、$list= $query->result();//返回?cái)?shù)組,數(shù)組中是一個(gè)一個(gè)的對(duì)象 6.5、$list= $query->result_array();//返回二維數(shù)組,里面是關(guān)聯(lián)數(shù)組 6.6、$row= $query->row();//返回第一條數(shù)據(jù),直接是一個(gè)對(duì)象 6.7、$row= $query->row_array();//返回第一條數(shù)據(jù),是一個(gè)數(shù)組 6.8、$count= $query->num_rows();//返回結(jié)果集的行數(shù) 6.9、$field= $query->num_fields();//返回請(qǐng)求的字段數(shù) 6.10、$count= $query->affected_rows();//返回受影響的行數(shù) 6.11、$id= $query->insert_id();//返回自增ID 7、數(shù)據(jù)庫(kù)中的配置 7.1、自動(dòng)加載db: 在application/config/autoload.php中配置: $autoload[“l(fā)ibraries”]= array(“database”); 這樣就不需要 $this->load->database(); 7.2、參數(shù)綁定 $name = $this->input->post(“name”); $pwd = $this->input->post(“pwd”); //使用問(wèn)號(hào)綁定參數(shù) $data[0]= $name; $data[1]= $pwd;//用二維數(shù)組傳遞值 $sql =“insertinto ci_user(name,pwd) values (?,?)”;//多個(gè)問(wèn)號(hào),需要傳一個(gè)索引數(shù)組 $bool = $this->db->query($sql,$data);//返回值是boolean 7.3、表前綴配置 在application/config/database.php中配置: $db[‘default’][‘dbprefix’]=‘ci_’; $db[‘default’][‘swap_pre’]=‘ci_’; 配置為一樣,代碼中,直接編寫(xiě)表前綴后面的名就行了,如果以后項(xiàng)目表前綴發(fā)生變化,只需要修改$db[‘default’][‘dbprefix’]=‘new_’,代碼中ci_會(huì)自動(dòng)替換為new_ 8、數(shù)據(jù)庫(kù)操作(AR模型) 8.1、配置application/cinfig/database.php中 $active_record = TRUE; 8.2、在配置文件中,配置表前綴后,會(huì)自動(dòng)添加 8.3、查找(get): $res = $this->db->get(‘表名’);//返回結(jié)果集對(duì)象 $list = $res->result();//返回?cái)?shù)組,數(shù)組中是一個(gè)一個(gè)的對(duì)象 $list = $res->result_array();//返回二維數(shù)組,里面是關(guān)聯(lián)數(shù)組 8.4、插入(insert): //數(shù)據(jù)使用關(guān)聯(lián)數(shù)組 $data[“數(shù)據(jù)庫(kù)字段名”]=值;//$this->input->post(“name”); $data[“數(shù)據(jù)庫(kù)字段名”]=值; $res = $this->db->insert(“數(shù)據(jù)表名”,$data);//返回結(jié)果boolean; 8.5、修改(update): //數(shù)據(jù)使用關(guān)聯(lián)數(shù)組 $data[“數(shù)據(jù)庫(kù)字段名”]=值;//$this->input->post(“name”); $data[“數(shù)據(jù)庫(kù)字段名”]=值; $where = array(“id”=>”4”); $res = $this->db->update(“數(shù)據(jù)表名”,$data,$where);//返回結(jié)果boolean; 8.6、刪除(delete): $where = array(“id”=>”4”); $res = $this->db->dalete(“數(shù)據(jù)表名”, $where);//返回結(jié)果boolean; 9、AR的連貫操作 9.1、$res= $this->db->select("id,name")//查找的字段 ->from("user")//數(shù)據(jù)表名 ->where("id >",3)//條件 id與>之間必須要有空格 ->order_by("id desc")//排序 ->limit(3,1)//分頁(yè);表示跳過(guò)1條,取3條,與tp相反 ->get();//獲取數(shù)據(jù) $list = $res->result_array(); 9.2、where()條件 條件符:“>”、“>=”、“<”、“<=”、“=”、“!=“;不指定條件付默認(rèn)是”=“ 1、只有單個(gè)條件時(shí): 9.2.1、$res= $this->db->where(“字段”,”值”)->get(); 例如:$res= $this->db->where(“name”,”admin”)->get();//自動(dòng)會(huì)加上“=” 9.2.2、$res= $this->db->where(“字段=”,”值”)->get(); 例如:$res= $this->db->where(“name=”,”admin”)->get();//必須要有空格 2、有多個(gè)條件時(shí):用array() 9.2.3、$res= $this->db->where(array(“字段”=>”值”,“字段”=>”值”))->get(); 例如:$res= $this->db->where(array(“name”=>”admin”,“id>3”=>”2”))->get(); 9.2.4、復(fù)雜的查詢(xún)語(yǔ)句使用$this->db->query($sql,$data);//使用問(wèn)號(hào)綁定參數(shù) 9.3、join連接查詢(xún) 9.3.1、默認(rèn)為左查詢(xún)(left join … on) $this->db->select(“字段”) ->from(“數(shù)據(jù)表名”) ->join('連接表','連接條件') ->get(); //默認(rèn)為左查詢(xún)(left join … on) 例如: $this->db->select(“*”) ->from(“user”) ->join('category', user.id= category.id)//默認(rèn)為左查詢(xún)(left join ) ->get(); 9.3.2、通過(guò)join()第三個(gè)可選參數(shù)選擇連接,可選參數(shù)包括:left、 right、outer、 inner、left outer、right outer 例如: $this->db->select(“*”) ->from(“user”) ->join(“category”, “user.id = category.id”,”left”)//通過(guò)第三個(gè)參數(shù)指定 ->get(); 10、擴(kuò)展CI控制器 10.1、擴(kuò)展控制器 1、在application/core新建一個(gè)自己的控制器(MY_Controller),新建的控制器繼承CI_Controller類(lèi),可以從自己創(chuàng)建的控制器中進(jìn)行擴(kuò)展。 例如:class MY_Controller

轉(zhuǎn)載于:https://www.cnblogs.com/kangshuai/p/10043156.html

總結(jié)

以上是生活随笔為你收集整理的CI框架简单使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。