成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

thinkphp學(xué)習(xí)筆記

-------------------ONE-----------------------------一、ThinkPHP 的介紹 //了解MVC 框架 http://ww

-------------------ONE-----------------------------

一、ThinkPHP 的介紹 //了解

MVC 框架 http://www.thinkphp.cn ├─ThinkPHP.php 框架入口文件 ├─Common 框架公共文件 ├─Conf 框架配置文件 ├─Extend 框架擴(kuò)展目錄 ├─Lang 核心語(yǔ)言包目錄 ├─Lib 核心類庫(kù)目錄 │ ├─Behavior 核心行為類庫(kù) │ ├─Core 核心基類庫(kù) │ ├─Driver 內(nèi)置驅(qū)動(dòng) │ │ ├─Cache 內(nèi)置緩存驅(qū)動(dòng) │ │ ├─Db 內(nèi)置數(shù)據(jù)庫(kù)驅(qū)動(dòng) │ │ ├─TagLib 內(nèi)置標(biāo)簽驅(qū)動(dòng) │ │ └─Template 內(nèi)置模板引擎驅(qū)動(dòng) │ └─Template 內(nèi)置模板引擎 └─Tpl 系統(tǒng)模板目錄 M - Model 模型 工作:負(fù)責(zé)數(shù)據(jù)的操作 V - View 視圖(模板) 工作:負(fù)責(zé)前臺(tái)頁(yè)面顯示 C - Controller 控制器(模塊) 工作:描述功能 二、ThinkPHP 的獲取 //了解 三、ThinkPHP 核心文件介紹 //了解

四、實(shí)驗(yàn)環(huán)境搭建 //了解

五、項(xiàng)目搭建 //重點(diǎn)

#項(xiàng)目目錄結(jié)構(gòu)及說(shuō)明: Home 前臺(tái)應(yīng)用文件夾 ├─Common 項(xiàng)目公共文件目錄 ├─Conf 項(xiàng)目配置目錄 ├─Lang 項(xiàng)目語(yǔ)言目錄 ├─Lib 項(xiàng)目類庫(kù)目錄 │ ├─Action Action類庫(kù)目錄 │ ├─Behavior 行為類庫(kù)目錄 │ ├─Model 模型類庫(kù)目錄 │ └─Widget Widget類庫(kù)目錄 ├─Runtime 項(xiàng)目運(yùn)行時(shí)目錄 │ ├─Cache 模板緩存目錄 │ ├─Data 數(shù)據(jù)緩存目錄 │ ├─Logs 日志文件目錄 │ └─Temp 臨時(shí)緩存目錄 └─Tpl 項(xiàng)目模板目錄

,

-------------------TWO-----------------------------

一、什么是MVC //了解

M -Model 編寫(xiě)model 類 對(duì)數(shù)據(jù)進(jìn)行操作 V -View 編寫(xiě)html 文件,頁(yè)面呈現(xiàn) C -Controller 編寫(xiě)類文件(UserAction.class.php )

二、ThinkPHP 的MVC 特點(diǎn) //了解

三、ThinkPHP 的MVC 對(duì)應(yīng)的目錄 //了解

M 項(xiàng)目目錄/應(yīng)用目錄/Lib/Model V 項(xiàng)目目錄/應(yīng)用目錄/Tpl C 項(xiàng)目目錄/應(yīng)用目錄/Lib/Action

四、url 訪問(wèn)C //了解

五、url 的4種訪問(wèn)方式 //重點(diǎn)!

1.PA THINFO 模式 -- 重點(diǎn)?。。。。。?http://域名/項(xiàng)目名/入口文件/模塊名/方法名/鍵1/值1/鍵2/值2 2. 普通模式 http://域名/項(xiàng)目名/入口文件?m=模塊名&a=方法名&鍵1=值1&鍵2=值2 3.REWRITE 模式 http://域名/項(xiàng)目名/模塊名/方法名/鍵1/值1/鍵2/值2 4. 兼容模式 http://域名/項(xiàng)目名/入口文件?s=模塊名/方法名/鍵1/值1/鍵2/值2

-------------------THREE-----------------------------

一、ThinkPHP 3 的輸出 (重點(diǎn))

二、ThinkPHP 3 的模型使用 (重點(diǎn))

需要在方法中通過(guò)new Model(表名)的形式操作數(shù)據(jù)庫(kù) $m=new Model('User'); $arr=$m->select(); a 、通過(guò) echo 等PHP 原生的輸出方式在頁(yè)面中輸出 b 、通過(guò)display 方法輸出 想分配變量可以使用assign 方法 休要修改配置文件中的配置項(xiàng) 'TMPL_L_DELIM'=>'<{', //修改左定界符 'TMPL_R_DELIM'=>'}>', //修改右定界符 c 、修改左右定界符 'DB_TYPE'=>'mysql', //設(shè)置數(shù)據(jù)庫(kù)類型 'DB_HOST'=>'localhost',//設(shè)置主機(jī) 'DB_NAME'=>'thinkphp',//設(shè)置數(shù)據(jù)庫(kù)名 'DB_USER'=>'root', //設(shè)置用戶名 'DB_PWD'=>'', //設(shè)置密碼 'DB_PORT'=>'3306', //設(shè)置端口號(hào) 'DB_PREFIX'=>'tp_', //設(shè)置表前綴

,

-------------------FOUR-----------------------------

一、ThinkPHP 3 的輸出 (重點(diǎn))

二、ThinkPHP 3 的模型使用 (重點(diǎn))

使用模型的實(shí)例可以對(duì)數(shù)據(jù)進(jìn)行操作,操作的工作一般就是對(duì)數(shù)據(jù)庫(kù)進(jìn)行 增刪改查 CURD

三、補(bǔ)充 (了解)

a 、模板可以遍歷數(shù)組 <{$vo.id}>----<{$vo.username}>-----<{$vo.sex}>
1. 開(kāi)啟調(diào)試功能 //3.開(kāi)啟調(diào)試模式 增 -C Create $m->add() 刪 -D Delete $m->delete() 改 -U Update $m->save() 查 -R Read $m->select() 還有一種簡(jiǎn)單實(shí)用模型的方式 M() 等效為 new Model(); $m=M('User'); $arr=$m->select(); 需要在方法中通過(guò)new Model(表名)的形式操作數(shù)據(jù)庫(kù) $m=new Model('User'); $arr=$m->select(); a 、通過(guò) echo 等PHP 原生的輸出方式在頁(yè)面中輸出 b 、通過(guò)display 方法輸出 想分配變量可以使用assign 方法 休要修改配置文件中的配置項(xiàng) 'TMPL_L_DELIM'=>'<{', //修改左定界符 'TMPL_R_DELIM'=>'}>', //修改右定界符 c 、修改左右定界符 'DB_TYPE'=>'mysql', //設(shè)置數(shù)據(jù)庫(kù)類型 'DB_HOST'=>'localhost',//設(shè)置主機(jī) 'DB_NAME'=>'thinkphp',//設(shè)置數(shù)據(jù)庫(kù)名 'DB_USER'=>'root', //設(shè)置用戶名 'DB_PWD'=>'', //設(shè)置密碼 'DB_PORT'=>'3306', //設(shè)置端口號(hào) 'DB_PREFIX'=>'tp_', //設(shè)置表前綴 也可以使用DSN 方法進(jìn)行配置 'DB_DSN'=>'mysql://root:@localhost:3306/thinkphp',//使用DSN 方式配置數(shù)據(jù)庫(kù)信息 如果兩種方式同時(shí)存在,以DSN 方式為優(yōu)先 b 、我們可以開(kāi)啟調(diào)試功能中的page_trace

,

define('APP_DEBUG',true); 'SHOW_PAGE_TRACE'=>true,//開(kāi)啟頁(yè)面Trace 2. 我們需要設(shè)置配置文件,開(kāi)啟頁(yè)面trace

-------------------FIVE-----------------------------

一、ThinkPHP 3 的CURD 介紹 (了解)

二、ThinkPHP 3 讀取數(shù)據(jù) (重點(diǎn))

對(duì)數(shù)據(jù)的讀取 Read $m=new Model('User'); $m=M('User'); select $m->select();//獲取所有數(shù)據(jù),以數(shù)組形式返回 find $m->find($id);//獲取單條數(shù)據(jù) getField(字段名)//獲取一個(gè)具體的字段值 $arr=$m->where('id=2')->getField('username'); 對(duì)數(shù)據(jù)的添加 Create $m=new Model('User'); $m=M('User'); $m->字段名=值 $m->add(); 返回值是新增的id 號(hào) $m=M('User'); $m->delete(2); //刪除id 為2的數(shù)據(jù) $m->where('id=2')->delete(); //與上面效果相同,也是刪除id 為2的數(shù)據(jù) 返回值是受影響行數(shù) $m=M('User'); $data['id']=1; $data['username']='ztz2'; $m->save($data); 返回值是受影響行數(shù) 三、ThinkPHP 3 創(chuàng)建數(shù)據(jù) (重點(diǎn)) 四、ThinkPHP 3 刪除數(shù)據(jù) (重點(diǎn)) 五、ThinkPHP 3 更新數(shù)據(jù) (重點(diǎn))

-------------------SIX-----------------------------

一、普通查詢方式

a 、字符串 $arr=$m->where("sex=0 and username='gege'")->find(); $data['sex']=0; $data['username']='gege'; $arr=$m->where($data)->find(); 注意:這種方式默認(rèn)是and 的關(guān)系,如果使用or 關(guān)系,需要添加數(shù)組值 b 、數(shù)組

,

$data['sex']=0; $data['username']='gege'; $data['_logic']='or'; $data['id']=array('lt',6); $arr=$m->where($data)->select(); EQ 等于 NEQ 不等于 GT 大于 EGT 大于等于 LT 小于 ELT 小于等于 LIKE 模糊查詢 $data['username']=array('like','ge'); $arr=$m->where($data)->select(); $data['username']=array('notlike','ge'); //notlike中間沒(méi)有空格 二、表達(dá)式查詢方式 NOTLIKE $arr=$m->where($data)->select(); IN $data['id']=array('in',array(4,6,7)); $arr=$m->where($data)->select(); //SELECT * FROM `tp_user` WHERE ( `id` IN (4,6,7) ) $data['id']=array('not in',array(4,6,7)); $arr=$m->where($data)->select(); //SELECT * FROM `tp_user` WHERE ( `id` NOT IN (4,6,7) ) 注意:如果一個(gè)字段要匹配多個(gè)通配符 $data['username']=array('like',array('ge','2','五'),'and');//如果沒(méi)有第三個(gè)值,默認(rèn)關(guān)$arr=$m->where($data)->select(); $data['id']=array('between',array(5,7)); $arr=$m->where($data)->select(); //SELECT * FROM `tp_user` WHERE ( (`id` BETWEEN 5 AND 7 ) ) $data['id']=array('not between',array(5,7));//注意,not 和 between 中間一定要有空格 $arr=$m->where($data)->select(); 系是or 關(guān)系 BETWEEN

-------------------SEVEN----------------------------

一、普通查詢方式

a 、字符串 $arr=$m->where("sex=0 and username='gege'")->find(); $data['sex']=0; b 、數(shù)組

,

$data['username']='gege'; $arr=$m->where($data)->find(); 注意:這種方式默認(rèn)是and 的關(guān)系,如果使用or 關(guān)系,需要添加數(shù)組值 $data['sex']=0; $data['username']='gege'; $data['_logic']='or'; $data['id']=array('lt',6); $arr=$m->where($data)->select(); EQ 等于 NEQ 不等于 GT 大于 EGT 大于等于 LT 小于 ELT 小于等于 LIKE 模糊查詢 $data['username']=array('like','ge'); $arr=$m->where($data)->select(); $data['username']=array('notlike','ge'); //notlike中間沒(méi)有空格 二、表達(dá)式查詢方式 NOTLIKE $arr=$m->where($data)->select(); IN $data['id']=array('in',array(4,6,7)); $arr=$m->where($data)->select(); //SELECT * FROM `tp_user` WHERE ( `id` IN (4,6,7) ) $data['id']=array('not in',array(4,6,7)); $arr=$m->where($data)->select(); //SELECT * FROM `tp_user` WHERE ( `id` NOT IN (4,6,7) ) 注意:如果一個(gè)字段要匹配多個(gè)通配符 $data['username']=array('like',array('ge','2','五'),'and');//如果沒(méi)有第三個(gè)值,默認(rèn)關(guān)$arr=$m->where($data)->select(); $data['id']=array('between',array(5,7)); $arr=$m->where($data)->select(); //SELECT * FROM `tp_user` WHERE ( (`id` BETWEEN 5 AND 7 ) ) $data['id']=array('not between',array(5,7));//注意,not 和 between 中間一定要有空格 $arr=$m->where($data)->select(); 系是or 關(guān)系 BETWEEN 三、區(qū)間查詢 $data['id']=array(array('gt',4),array('lt',10));//默認(rèn)關(guān)系是 and 的關(guān)系 //SELECT * FROM `tp_user` WHERE ( (`id` > 4) AND (`id` < 10) )

,

$data['id']=array(array('gt',4),array('lt',10),'or') //關(guān)系就是or 的關(guān)系 $data['name']=array(array('like','2'),array('like','五'),'gege','or'); count //獲取個(gè)數(shù) max //獲取最大數(shù) min //獲取最小數(shù) avg //獲取平均數(shù) sum //獲取總和 四、統(tǒng)計(jì)查詢 五、SQL 直接查詢 a 、query 主要數(shù)處理讀取數(shù)據(jù)的 成功返回?cái)?shù)據(jù)的結(jié)果集 失敗返回boolean false $m=M(); $result=$m->query("select * from t_user where id >50"); var_dump($result); 成功返回影響行數(shù) 失敗返回boolean false $m=M(); $result=$m->execute("insert into t_user(`username`) values('ztz3')"); var_dump($result); b 、execute 用于更新個(gè)寫(xiě)入操作

------------------EIGHT---------------------------

一、常用連貫操作

1.where 幫助我們?cè)O(shè)置查詢條件 對(duì)結(jié)果進(jìn)行排序 $arr=$m->order('id desc')->select(); $arr=$m->order(array('id'=>'desc','sex'=>'asc'))->select(); 限制結(jié)果 limit(2,5) limit('2,5') limit(10)//limit(0,10) 設(shè)置查詢字段 field('username as name,id') field(array('username'=>'name','id') field('id',true) //獲取除了id 以外的所有字段 2.order 3.limit 4.field 5.table 6.group

,

7.having alias 用于給當(dāng)前數(shù)據(jù)表定義別名 字符串 page 用于查詢分頁(yè)(內(nèi)部會(huì)轉(zhuǎn)換成limit ) 字符串和數(shù)字 join* 用于對(duì)查詢的join 支持 字符串和數(shù)組 union* 用于對(duì)查詢的union 支持 字符串、數(shù)組和對(duì)象 distinct 用于查詢的distinct 支持 布爾值 lock 用于數(shù)據(jù)庫(kù)的鎖機(jī)制 布爾值 cache 用于查詢緩存 支持多個(gè)參數(shù)(以后在緩存部分再詳細(xì)描述) relation 用于關(guān)聯(lián)查詢(需要關(guān)聯(lián)模型擴(kuò)展支持) 字符串 validate 用于數(shù)據(jù)自動(dòng)驗(yàn)證 數(shù)組 auto 用于數(shù)據(jù)自動(dòng)完成 數(shù)組 filter 用于數(shù)據(jù)過(guò)濾 字符串 scope* 用于命名范圍 字符串、數(shù)組 二、補(bǔ)充

------------------NINE---------------------------

一、模板的使用 (重點(diǎn))

a 、規(guī)則 模板文件夾下[TPL]/[分組文件夾/][模板主題文件夾/]和模塊名同名的文件夾[Index]/和方法名同更換模板文件的后綴名(修改配置文件) 'TMPL_TEMPLATE_SUFFIX'=>'.html',//更改模板文件后綴名 'TMPL_FILE_DEPR'=>'_',//修改模板文件目錄層次 'DEFAULT_THEME'=>'your',//設(shè)置默認(rèn)模板主題 需要在TPL 下面新建一個(gè)your 文件夾作為模板主題文件夾 如何動(dòng)態(tài)修改模板主題? 1、在后臺(tái)準(zhǔn)備一個(gè)功能,修改config.php 文件中的默認(rèn)模板項(xiàng) 2、通過(guò)url 傳遞 t=主題 參數(shù)可以修改不同的模板 'DEFAULT_THEME'=>'your',//設(shè)置默認(rèn)模板主題 'TMPL_DETECT_THEME'=>true,//自動(dòng)偵測(cè)模板主題 'THEME_LIST'=>'your,my',//支持的模板主題列表 名的文件[index].html(.tpl ) b 、修改模板文件目錄層次 c 、模板主題 二、輸出模板內(nèi)容 (重點(diǎn)) a 、display 1.display 中沒(méi)有參數(shù) $this->display(); $this->display(本模塊文件夾下的其他模板文件); 2. 可以帶參數(shù) $this->display('index2');

$this->display(其他文件夾下的模板文件);

$this->display('Public:error');//注意,僅僅需要在Tpl 下有Public 文件夾以及其中的error.html

,

即可,不需要一定有Public 模塊

$this->display(其他主題下的 文件夾下的 模板文件);//需要開(kāi)啟主題支持 $this->display('my:Index:index'); $this->display('./Public/error.html'); $this->display(一個(gè)url 路徑);

$this->display('./Public/error.html','utf-8','text/xml'); $this->show($content);

3.fetch 方法 獲得模板文件中的內(nèi)容,以字符串形式返回 $content=$this->fetch('Public:error'); 不需要模板文件,可以直接輸出模板內(nèi)容 $content=$this->fetch('Public:error'); dump($content); $content=str_replace('h1','i',$content); $this->show($content); 4.show 方法 三、模板中的賦值 (重點(diǎn)) //$this->assign('name','趙桐正'); $this->name='趙桐正2'; $this->display();

四、模板替換 (重點(diǎn))

/public:會(huì)被替換成當(dāng)前網(wǎng)站的公共目錄 通常是 /Public/ : 會(huì)替換成當(dāng)前網(wǎng)站的地址(不含域名) __APP__: 會(huì)替換成當(dāng)前項(xiàng)目的URL 地址 (不含域名) __GROUP__:會(huì)替換成當(dāng)前分組的URL 地址 (不含域名) /home/news: 會(huì)替換成當(dāng)前模塊的URL 地址(不含域名) __ACTION__:會(huì)替換成當(dāng)前操作的URL 地址 (不含域名) __SELF__: 會(huì)替換成當(dāng)前的頁(yè)面URL

), 更換模板變量規(guī)則,修改配置項(xiàng) 'TMPL_PARSE_STRING'=>array( //添加自己的模板變量規(guī)則 '/static/css'=>.'/Public/Css', '/static/js'=>.'/Public/Js',

------------------TEN---------------------------

一、變量輸出 (重點(diǎn))

1. 標(biāo)量輸出 2. 數(shù)組輸出 {$name[1]} {$name['k2']}

,

{$name.k1} {$name:k} {$name->k} 3. 對(duì)象輸出 二、系統(tǒng)變量 {$Think.get.id} {$name|strtoupper} 生成的編譯后文件是 {$name|date='Y m d H:i:s',###} {$name|default='這里是默認(rèn)值'} - * / -- {$name } 三、使用函數(shù) 四、默認(rèn)值 五、運(yùn)算符

標(biāo)簽: