thinkphp學(xué)習(xí)筆記培訓(xùn)資料_第1頁
thinkphp學(xué)習(xí)筆記培訓(xùn)資料_第2頁
thinkphp學(xué)習(xí)筆記培訓(xùn)資料_第3頁
thinkphp學(xué)習(xí)筆記培訓(xùn)資料_第4頁
thinkphp學(xué)習(xí)筆記培訓(xùn)資料_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、Good is good, but better carries it.精益求精,善益求善。thinkphp學(xué)習(xí)筆記ONE一、ThinkPHP的介紹/了解MVCM-Model模型工作:負(fù)責(zé)數(shù)據(jù)的操作V-View視圖(模板)工作:負(fù)責(zé)前臺頁面顯示C-Controller控制器(模塊)工作:描述功能框架二、ThinkPHP的獲取/了解三、ThinkPHP核心文件介紹/了解ThinkPHP.php框架入口文件Common框架公共文件Conf框架配置文件Extend框架擴展目錄Lang核心語言包目錄Lib核心類庫目錄Behavior核心行為類庫Core核心基類庫Driver內(nèi)置驅(qū)動Cache內(nèi)置緩存驅(qū)

2、動Db內(nèi)置數(shù)據(jù)庫驅(qū)動TagLib內(nèi)置標(biāo)簽驅(qū)動Template內(nèi)置模板引擎驅(qū)動Template內(nèi)置模板引擎Tpl系統(tǒng)模板目錄四、實驗環(huán)境搭建/了解五、項目搭建/重點#項目目錄結(jié)構(gòu)及說明:Home前臺應(yīng)用文件夾Common項目公共文件目錄Conf項目配置目錄Lang項目語言目錄Lib項目類庫目錄ActionAction類庫目錄Behavior行為類庫目錄Model模型類庫目錄WidgetWidget類庫目錄Runtime項目運行時目錄Cache模板緩存目錄Data數(shù)據(jù)緩存目錄Logs日志文件目錄Temp臨時緩存目錄Tpl項目模板目錄TWO一、什么是MVC/了解M-Model編寫model類對數(shù)據(jù)進

3、行操作V-View編寫html文件,頁面呈現(xiàn)C-Controller編寫類文件(UserAction.class.php)二、ThinkPHP的MVC特點/了解三、ThinkPHP的MVC對應(yīng)的目錄/了解M項目目錄/應(yīng)用目錄/Lib/ModelV項目目錄/應(yīng)用目錄/TplC項目目錄/應(yīng)用目錄/Lib/Action四、url訪問C/了解五、url的4種訪問方式/重點!1.PATHINFO模式-重點!http:/域名/項目名/入口文件/模塊名/方法名/鍵1/值1/鍵2/值22.普通模式http:/域名/項目名/入口文件?m=模塊名&a=方法名&鍵1=值1&鍵2=值23.REWRITE模式http:

4、/域名/項目名/模塊名/方法名/鍵1/值1/鍵2/值24.兼容模式HYPERLINKhttp:/域名/項目名/入口文件?s=模塊名/方法名/鍵1/值1/鍵2/值2http:/域名/項目名/入口文件?s=模塊名/方法名/鍵1/值1/鍵2/值2THREE一、ThinkPHP3的輸出(重點)a、通過echo等PHP原生的輸出方式在頁面中輸出b、通過display方法輸出想分配變量可以使用assign方法c、修改左右定界符休要修改配置文件中的配置項TMPL_L_DELIM=,/修改右定界符二、ThinkPHP3的模型使用(重點)需要在方法中通過newModel(表名)的形式操作數(shù)據(jù)庫$m=newMod

5、el(User);$arr=$m-select();DB_TYPE=mysql,/設(shè)置數(shù)據(jù)庫類型DB_HOST=localhost,/設(shè)置主機DB_NAME=thinkphp,/設(shè)置數(shù)據(jù)庫名DB_USER=root,/設(shè)置用戶名DB_PWD=,/設(shè)置密碼DB_PORT=3306,/設(shè)置端口號DB_PREFIX=tp_,/設(shè)置表前綴FOUR一、ThinkPHP3的輸出(重點)a、通過echo等PHP原生的輸出方式在頁面中輸出b、通過display方法輸出想分配變量可以使用assign方法c、修改左右定界符休要修改配置文件中的配置項TMPL_L_DELIM=,/修改右定界符二、ThinkPHP3的

6、模型使用(重點)需要在方法中通過newModel(表名)的形式操作數(shù)據(jù)庫$m=newModel(User);$arr=$m-select();DB_TYPE=mysql,/設(shè)置數(shù)據(jù)庫類型DB_HOST=localhost,/設(shè)置主機DB_NAME=thinkphp,/設(shè)置數(shù)據(jù)庫名DB_USER=root,/設(shè)置用戶名DB_PWD=,/設(shè)置密碼DB_PORT=3306,/設(shè)置端口號DB_PREFIX=tp_,/設(shè)置表前綴也可以使用DSN方法進行配置DB_DSN=mysql:/root:localhost:3306/thinkphp,/使用DSN方式配置數(shù)據(jù)庫信息如果兩種方式同時存在,以DSN方式

7、為優(yōu)先還有一種簡單實用模型的方式M()等效為newModel();$m=M(User);$arr=$m-select();使用模型的實例可以對數(shù)據(jù)進行操作,操作的工作一般就是對數(shù)據(jù)庫進行增刪改查CURD增-CCreate$m-add()刪-DDelete$m-delete()改-UUpdate$m-save()查-RRead$m-select()三、補充(了解)a、模板可以遍歷數(shù)組b、我們可以開啟調(diào)試功能中的page_trace1.開啟調(diào)試功能/3.開啟調(diào)試模式define(APP_DEBUG,true);2.我們需要設(shè)置配置文件,開啟頁面traceSHOW_PAGE_TRACE=true,/

8、開啟頁面TraceFIVE一、ThinkPHP3的CURD介紹(了解)二、ThinkPHP3讀取數(shù)據(jù)(重點)對數(shù)據(jù)的讀取Read$m=newModel(User);$m=M(User);select$m-select();/獲取所有數(shù)據(jù),以數(shù)組形式返回find$m-find($id);/獲取單條數(shù)據(jù)getField(字段名)/獲取一個具體的字段值$arr=$m-where(id=2)-getField(username);三、ThinkPHP3創(chuàng)建數(shù)據(jù)(重點)對數(shù)據(jù)的添加Create$m=newModel(User);$m=M(User);$m-字段名=值$m-add();返回值是新增的id號

9、四、ThinkPHP3刪除數(shù)據(jù)(重點)$m=M(User);$m-delete(2);/刪除id為2的數(shù)據(jù)$m-where(id=2)-delete();/與上面效果相同,也是刪除id為2的數(shù)據(jù)返回值是受影響行數(shù)五、ThinkPHP3更新數(shù)據(jù)(重點)$m=M(User);$dataid=1;$datausername=ztz2;$m-save($data);返回值是受影響行數(shù)SIX一、普通查詢方式a、字符串$arr=$m-where(sex=0andusername=gege)-find();b、數(shù)組$datasex=0;$datausername=gege;$arr=$m-where($da

10、ta)-find();注意:這種方式默認(rèn)是and的關(guān)系,如果使用or關(guān)系,需要添加數(shù)組值$datasex=0;$datausername=gege;$data_logic=or;二、表達(dá)式查詢方式$dataid=array(lt,6);$arr=$m-where($data)-select();EQ等于NEQ不等于GT大于EGT大于等于LT小于ELT小于等于LIKE模糊查詢$datausername=array(like,%ge);$arr=$m-where($data)-select();NOTLIKE$datausername=array(notlike,%ge%);/notlike中間沒

11、有空格$arr=$m-where($data)-select();注意:如果一個字段要匹配多個通配符$datausername=array(like,array(%ge%,%2%,%五%),and);/如果沒有第三個值,默認(rèn)關(guān)系是or關(guān)系$arr=$m-where($data)-select();BETWEEN$dataid=array(between,array(5,7);$arr=$m-where($data)-select();/SELECT*FROMtp_userWHERE(idBETWEEN5AND7)$dataid=array(notbetween,array(5,7);/注意,n

12、ot和between中間一定要有空格$arr=$m-where($data)-select();IN$dataid=array(in,array(4,6,7);$arr=$m-where($data)-select();/SELECT*FROMtp_userWHERE(idIN(4,6,7)$dataid=array(notin,array(4,6,7);$arr=$m-where($data)-select();/SELECT*FROMtp_userWHERE(idNOTIN(4,6,7)SEVEN一、普通查詢方式a、字符串$arr=$m-where(sex=0andusername=geg

13、e)-find();b、數(shù)組$datasex=0;$datausername=gege;$arr=$m-where($data)-find();注意:這種方式默認(rèn)是and的關(guān)系,如果使用or關(guān)系,需要添加數(shù)組值$datasex=0;$datausername=gege;$data_logic=or;二、表達(dá)式查詢方式$dataid=array(lt,6);$arr=$m-where($data)-select();EQ等于NEQ不等于GT大于EGT大于等于LT小于ELT小于等于LIKE模糊查詢$datausername=array(like,%ge);$arr=$m-where($data)-

14、select();NOTLIKE$datausername=array(notlike,%ge%);/notlike中間沒有空格$arr=$m-where($data)-select();注意:如果一個字段要匹配多個通配符$datausername=array(like,array(%ge%,%2%,%五%),and);/如果沒有第三個值,默認(rèn)關(guān)系是or關(guān)系$arr=$m-where($data)-select();BETWEEN$dataid=array(between,array(5,7);$arr=$m-where($data)-select();/SELECT*FROMtp_userW

15、HERE(idBETWEEN5AND7)$dataid=array(notbetween,array(5,7);/注意,not和between中間一定要有空格$arr=$m-where($data)-select();IN$dataid=array(in,array(4,6,7);$arr=$m-where($data)-select();/SELECT*FROMtp_userWHERE(idIN(4,6,7)$dataid=array(notin,array(4,6,7);$arr=$m-where($data)-select();/SELECT*FROMtp_userWHERE(idNOT

16、IN(4,6,7)三、區(qū)間查詢$dataid=array(array(gt,4),array(lt,10);/默認(rèn)關(guān)系是and的關(guān)系/SELECT*FROMtp_userWHERE(id4)AND(idquery(select*fromt_userwhereid50);var_dump($result);b、execute用于更新個寫入操作成功返回影響行數(shù)失敗返回booleanfalse$m=M();$result=$m-execute(insertintot_user(username)values(ztz3);var_dump($result);EIGHT一、常用連貫操作1.where幫助

17、我們設(shè)置查詢條件2.order對結(jié)果進行排序$arr=$m-order(iddesc)-select();$arr=$m-order(array(id=desc,sex=asc)-select();3.limit限制結(jié)果limit(2,5)limit(2,5)limit(10)/limit(0,10)4.field設(shè)置查詢字段field(usernameasname,id)field(array(username=name,id)field(id,true)/獲取除了id以外的所有字段5.table6.group7.having二、補充alias用于給當(dāng)前數(shù)據(jù)表定義別名字符串page用于查詢分

18、頁(內(nèi)部會轉(zhuǎn)換成limit)字符串和數(shù)字join*用于對查詢的join支持字符串和數(shù)組union*用于對查詢的union支持字符串、數(shù)組和對象distinct用于查詢的distinct支持布爾值lock用于數(shù)據(jù)庫的鎖機制布爾值cache用于查詢緩存支持多個參數(shù)(以后在緩存部分再詳細(xì)描述)relation用于關(guān)聯(lián)查詢(需要關(guān)聯(lián)模型擴展支持)字符串validate用于數(shù)據(jù)自動驗證數(shù)組auto用于數(shù)據(jù)自動完成數(shù)組filter用于數(shù)據(jù)過濾字符串scope*用于命名范圍字符串、數(shù)組NINE一、模板的使用(重點)a、規(guī)則模板文件夾下TPL/分組文件夾/模板主題文件夾/和模塊名同名的文件夾Index/和方法

19、名同名的文件index.html(.tpl)更換模板文件的后綴名(修改配置文件)TMPL_TEMPLATE_SUFFIX=.html,/更改模板文件后綴名b、修改模板文件目錄層次TMPL_FILE_DEPR=_,/修改模板文件目錄層次c、模板主題DEFAULT_THEME=your,/設(shè)置默認(rèn)模板主題需要在TPL下面新建一個your文件夾作為模板主題文件夾如何動態(tài)修改模板主題?1、在后臺準(zhǔn)備一個功能,修改config.php文件中的默認(rèn)模板項2、通過url傳遞t=主題參數(shù)可以修改不同的模板DEFAULT_THEME=your,/設(shè)置默認(rèn)模板主題TMPL_DETECT_THEME=true,/自

20、動偵測模板主題THEME_LIST=your,my,/支持的模板主題列表二、輸出模板內(nèi)容(重點)a、display1.display中沒有參數(shù)$this-display();2.可以帶參數(shù)$this-display(本模塊文件夾下的其他模板文件);$this-display(index2);$this-display(其他文件夾下的模板文件);$this-display(Public:error);/注意,僅僅需要在Tpl下有Public文件夾以及其中的error.html即可,不需要一定有Public模塊$this-display(其他主題下的文件夾下的模板文件);/需要開啟主題支持$this-display(my:Index:index);$this-display(一個url路徑);$this-display(./Public/error.html);$this-display(./Public/error.html,utf-8,text/xml);$this-show($content);3.fetch方法獲得模板文件中的內(nèi)容,以字符串形式返回$content=$this-fetch(Pu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論