日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CI框架简单使用

發(fā)布時(shí)間:2025/7/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CI框架简单使用 小編覺得挺不錯(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簡介:CodeIgniter是一個(gè)輕量級(jí)但功能強(qiáng)大的php框架,基于MVC的設(shè)計(jì)模式。提供了一套豐富的類庫 2.1、訪問的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、文件名全部小寫 3、控制器(controller): 3.1、不需要加后綴,直接是類名.php 3.2、文件名全部小寫,例如 user.php(大寫的文件名瀏覽器不支持) 3.3、所有的控制器,直接或間接繼承自CI_Controller類,類名首字母大寫 3.4、方法名不區(qū)分大小寫 動(dòng)作要求:1.必須以public開頭 2.不能以下劃線(_)開頭 注意!方法名與類名相同,會(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、裝載器類的實(shí)例 system/core/Loader.php 5.1.2、CI_Loader提供的方法: $this->load->view()裝載視圖 $this->load->vars()分配變量到視圖 $this->load->database()裝載數(shù)據(jù)庫操作對(duì)象 $this->load->model()裝載模型對(duì)象 $this->load->helper()幫助對(duì)象 $this->load->view(“視圖名”,$變量名)裝載視圖時(shí)分配變量 5.2、$this->uri屬性 5.2.1、裝載器類的實(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、裝載器類的實(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”);//客戶端IP $this->input->server(“SERVER_ADDR”);//服務(wù)器端IP 注意:在視圖中,可以直接用$this來訪問超級(jí)對(duì)象中的屬性 6、訪問數(shù)據(jù)庫 6.1、修改配置文件:application/config/database.php 6.2、裝載數(shù)據(jù)庫操作類:$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語句 6.3.1、$query= $this->db->escape();//此函數(shù)會(huì)確定數(shù)據(jù)類型,對(duì)字符串類型數(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ù)庫中的配置 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”); //使用問號(hào)綁定參數(shù) $data[0]= $name; $data[1]= $pwd;//用二維數(shù)組傳遞值 $sql =“insertinto ci_user(name,pwd) values (?,?)”;//多個(gè)問號(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àng)目表前綴發(fā)生變化,只需要修改$db[‘default’][‘dbprefix’]=‘new_’,代碼中ci_會(huì)自動(dòng)替換為new_ 8、數(shù)據(jù)庫操作(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ù)庫字段名”]=值;//$this->input->post(“name”); $data[“數(shù)據(jù)庫字段名”]=值; $res = $this->db->insert(“數(shù)據(jù)表名”,$data);//返回結(jié)果boolean; 8.5、修改(update): //數(shù)據(jù)使用關(guān)聯(lián)數(shù)組 $data[“數(shù)據(jù)庫字段名”]=值;//$this->input->post(“name”); $data[“數(shù)據(jù)庫字段名”]=值; $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)//分頁;表示跳過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ù)雜的查詢語句使用$this->db->query($sql,$data);//使用問號(hào)綁定參數(shù) 9.3、join連接查詢 9.3.1、默認(rèn)為左查詢(left join … on) $this->db->select(“字段”) ->from(“數(shù)據(jù)表名”) ->join('連接表','連接條件') ->get(); //默認(rèn)為左查詢(left join … on) 例如: $this->db->select(“*”) ->from(“user”) ->join('category', user.id= category.id)//默認(rèn)為左查詢(left join ) ->get(); 9.3.2、通過join()第三個(gè)可選參數(shù)選擇連接,可選參數(shù)包括:left、 right、outer、 inner、left outer、right outer 例如: $this->db->select(“*”) ->from(“user”) ->join(“category”, “user.id = category.id”,”left”)//通過第三個(gè)參數(shù)指定 ->get(); 10、擴(kuò)展CI控制器 10.1、擴(kuò)展控制器 1、在application/core新建一個(gè)自己的控制器(MY_Controller),新建的控制器繼承CI_Controller類,可以從自己創(chuàng)建的控制器中進(jìn)行擴(kuò)展。 例如:class MY_Controller

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

總結(jié)

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

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