版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、thinkPHP課件趙桐正一、介紹及安裝本節(jié)課大綱:一、ThinkPHP的介紹 /了解MVCM - Model 模型 工作:負(fù)責(zé)數(shù)據(jù)的操作V - View 視圖(模板) 工作:負(fù)責(zé)前臺頁面顯示C - Controller 控制器(模塊) 工作:描述功能框架二、ThinkPHP的獲取 /了解三、ThinkPHP核心文件介紹 /了解ThinkPHP.php 框架入口文件Common 框架公共文件Conf 框架配置文件Extend 框架擴(kuò)展目錄Lang 核心語言包目錄Lib 核心類庫目錄 Behavior 核心行為類庫 Core 核心基類庫 Driver 內(nèi)置驅(qū)動 Cache 內(nèi)置緩存驅(qū)動 Db 內(nèi)
2、置數(shù)據(jù)庫驅(qū)動 TagLib 內(nèi)置標(biāo)簽驅(qū)動 Template 內(nèi)置模板引擎驅(qū)動 Template 內(nèi)置模板引擎Tpl 系統(tǒng)模板目錄四、實(shí)驗(yàn)環(huán)境搭建 /了解五、項(xiàng)目搭建 /重點(diǎn)#項(xiàng)目目錄結(jié)構(gòu)及說明:Home 前臺應(yīng)用文件夾Common 項(xiàng)目公共文件目錄Conf 項(xiàng)目配置目錄Lang 項(xiàng)目語言目錄Lib 項(xiàng)目類庫目錄 Action Action類庫目錄 Behavior 行為類庫目錄 Model 模型類庫目錄 Widget Widget類庫目錄Runtime 項(xiàng)目運(yùn)行時目錄 Cache 模板緩存目錄 Data 數(shù)據(jù)緩存目錄 Logs 日志文件目錄 Temp 臨時緩存目錄Tpl 項(xiàng)目模板目錄六、補(bǔ)充知
3、識 /了解ThinkPHP 3 MVC模式和URL訪問本節(jié)課大綱:一、什么是MVC /了解M -Model 編寫model類 對數(shù)據(jù)進(jìn)行操作V -View 編寫html文件,頁面呈現(xiàn)C -Cont tion.class.php)二、ThinkPHP的MVC特點(diǎn) /了解三、ThinkPHP的MVC對應(yīng)的目錄 /了解M 項(xiàng)目目錄/應(yīng)用目錄/Lib/ModelV 項(xiàng)目目錄/應(yīng)用目錄/TplC 項(xiàng)目目錄/應(yīng)用目錄/Lib/Action四、url訪問C /了解五、url的4種訪問方式 /重點(diǎn)!1.PATHINFO 模式 - 重點(diǎn)!http:/域名/項(xiàng)目名/入口文件/模塊名/方法名/鍵1/值1/鍵2/值2
4、2.普通模式http:/域名/項(xiàng)目名/入口文件?m=模塊名&a=方法名&鍵1=值1&鍵2=值23.REWRITE模式http:/域名/項(xiàng)目名/模塊名/方法名/鍵1/值1/鍵2/值24.兼容模式http:/域名/項(xiàng)目名/入口文件?s=模塊名/方法名/鍵1/值1/鍵2/值2# ThinkPHP 3.1.2 輸出和模型使用本節(jié)課大綱:一、ThinkPHP 3 的輸出 (重點(diǎn))a、通過 echo 等PHP原生的輸出方式在頁面中輸出b、通過display方法輸出想分配變量可以使用assign方法c、修改左右定界符休要修改配置文件中的配置項(xiàng)'TMPL_L_DELIM'
5、;=>'<', /修改左定界符'TMPL_R_DELIM'=>'>', /修改右定界符二、ThinkPHP 3 的模型使用 (重點(diǎn))需要在方法中通過new Model(表名)的形式操作數(shù)據(jù)庫$m=new Model('User');$arr=$m->select(); 'DB_TYPE'=>'mysql', /設(shè)置數(shù)據(jù)庫類型'DB_HOST'=>'localhost',/設(shè)置主機(jī)'DB_NAME'=>
6、39;thinkphp',/設(shè)置數(shù)據(jù)庫名'DB_USER'=>'root', /設(shè)置用戶名'DB_PWD'=>'', /設(shè)置密碼'DB_PORT'=>'3306', /設(shè)置端口號'DB_PREFIX'=>'tp_', /設(shè)置表前綴三、補(bǔ)充 (了解)a、模板可以遍歷數(shù)組<volist name='data' id='vo'><$vo.id>-<$vo.username>-
7、<$vo.sex><br/></volist>b、我們可以開啟調(diào)試功能中的page_trace1.開啟調(diào)試功能/3.開啟調(diào)試模式define('APP_DEBUG',true);2.我們需要設(shè)置配置文件,開啟頁面trace'SHOW_PAGE_TRACE'=>true,/開啟頁面Trace (了解)# ThinkPHP 3.1.2 CURD特性本節(jié)課大綱:一、ThinkPHP 3 的CURD介紹 (了解)二、ThinkPHP 3 讀取數(shù)據(jù) (重點(diǎn))對數(shù)據(jù)的讀取 Read$m=new Model('User'
8、;);$m=M('User');select$m->select();/獲取所有數(shù)據(jù),以數(shù)組形式返回find$m->find($id);/獲取單條數(shù)據(jù)getField(字段名)/獲取一個具體的字段值$arr=$m->where('id=2')->getField('username');三、ThinkPHP 3 創(chuàng)建數(shù)據(jù) (重點(diǎn))對數(shù)據(jù)的添加 Create$m=new Model('User');$m=M('User');$m->字段名=值$m->add();返回值是新增的id號
9、四、ThinkPHP 3 刪除數(shù)據(jù) (重點(diǎn))$m=M('User');$m->delete(2); /刪除id為2的數(shù)據(jù)$m->where('id=2')->delete(); /與上面效果相同,也是刪除id為2的數(shù)據(jù)返回值是受影響行數(shù)五、ThinkPHP 3 更新數(shù)據(jù) (重點(diǎn))$m=M('User');$data'id'=1;$data'username'='ztz2'$m->save($data); 返回值是受影響行數(shù)# ThinkPHP 3.1.2 查詢方式本節(jié)課大綱:
10、一、普通查詢方式a、字符串$arr=$m->where("sex=0 and username='gege'")->find();b、數(shù)組$data'sex'=0;$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'
11、;='or'二、表達(dá)式查詢方式$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();NOTLIKE$data'username'=array('notlike',
12、39;%ge%'); /notlike中間沒有空格 $arr=$m->where($data)->select();注意:如果一個字段要匹配多個通配符$data'username'=array('like',array('%ge%','%2%','%五%'),'and');/如果沒有第三個值,默認(rèn)關(guān)系是or關(guān)系$arr=$m->where($data)->select();BETWEEN$data'id'=array('between'
13、,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();IN$data'id'=array('in',array(4,6,7);$arr=$m->where($data)
14、->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) )三、區(qū)間查詢$data'id'=array(array('gt',4),array('lt',10);/默認(rèn)關(guān)系是 and 的關(guān)系/SELECT *
15、 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');四、統(tǒng)計查詢count /獲取個數(shù)max /獲取最大數(shù)
16、min /獲取最小數(shù)avg /獲取平均數(shù)sum /獲取總和五、SQL直接查詢a、query 主要數(shù)處理讀取數(shù)據(jù)的成功返回數(shù)據(jù)的結(jié)果集失敗返回boolean false$m=M();$result=$m->query("select * from t_user where id >50");var_dump($result);b、execute 用于更新個寫入操作成功返回影響行數(shù)失敗返回boolean false$m=M();$result=$m->execute("insert into t_user(username) values('
17、ztz3')");var_dump($result);配置文件總結(jié)'URL_PATHINFO_DEPR' => '-' /配置Pathinfo模式訪問的分割符'TMPL_L_DELIM'=>'<' /配置左定界符'TMPL_R_DELIM'=>'>' /配置右定界符'DB_TYPE'=>'mysql', /設(shè)置數(shù)據(jù)可類型'DB_HOST'=>'localhost', /設(shè)置數(shù)據(jù)
18、庫主機(jī)'DB_NAME'=>'thinkphp', /設(shè)置數(shù)據(jù)庫名'DB_USER'=>'root', /設(shè)置用戶名'DB_PWD'=>'', /設(shè)置密碼'DB_PORT'=>'3306', /設(shè)置端口號'DB_PREFIX'=>'tp_', /設(shè)置表前綴'DB_DSN'=>'mysql:/root:localhost:3306/thinkphp', /DSN方式配置數(shù)
19、據(jù)庫信息'SHOW_PAGE_TRACE'=>true,/開啟頁面Trace# ThinkPHP 3.1.2 連貫操作本節(jié)課大綱:一、常用連貫操作 (重點(diǎn))二、補(bǔ)充 (了解)=一、常用連貫操作1.where幫助我們設(shè)置查詢條件2.order對結(jié)果進(jìn)行排序$arr=$m->order('id desc')->select();$arr=$m->order(array('id'=>'desc','sex'=>'asc')->select();3.limit限制結(jié)
20、果limit(2,5)limit('2,5')limit(10)/limit(0,10)4.field設(shè)置查詢字段field('username as name,id')field(array('username'=>'name','id')field('id',true) /獲取除了id以外的所有字段5.table6.group7.having二、補(bǔ)充 alias 用于給當(dāng)前數(shù)據(jù)表定義別名 字符串 page 用于查詢分頁(內(nèi)部會轉(zhuǎn)換成limit) 字符串和數(shù)字 join* 用于對查詢的joi
21、n支持 字符串和數(shù)組 union* 用于對查詢的union支持 字符串、數(shù)組和對象 distinct 用于查詢的distinct支持 布爾值 lock 用于數(shù)據(jù)庫的鎖機(jī)制 布爾值 cache 用于查詢緩存 支持多個參數(shù)(以后在緩存部分再詳細(xì)描述) relation 用于關(guān)聯(lián)查詢(需要關(guān)聯(lián)模型擴(kuò)展支持) 字符串 validate 用于數(shù)據(jù)自動驗(yàn)證 數(shù)組 auto 用于數(shù)據(jù)自動完成 數(shù)組 filter 用于數(shù)據(jù)過濾 字符串 scope* 用于命名范圍 字符串、數(shù)組 補(bǔ)充部分會在以后在詳細(xì)探討# ThinkPHP 3.1.2 視圖本節(jié)課大綱:一、模板的使用 (重點(diǎn))a、規(guī)則模板文件夾下TPL/分組文
22、件夾/模板主題文件夾/和模塊名同名的文件夾Index/和方法名同名的文件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)備一
23、個功能,修改config.php文件中的默認(rèn)模板項(xiàng)2、通過url傳遞 t=主題 參數(shù)可以修改不同的模板'DEFAULT_THEME'=>'your',/設(shè)置默認(rèn)模板主題'TMPL_DETECT_THEME'=>true,/自動偵測模板主題'THEME_LIST'=>'your,my',/支持的模板主題列表二、輸出模板內(nèi)容 (重點(diǎn))a、display1.display中沒有參數(shù)$this->display();2.可以帶參數(shù)$this->display(本模塊文件夾下的其他模板文件);$
24、this->display('index2');$this->display(其他文件夾下的模板文件);$this->display('Public:error');/注意,僅僅需要在Tpl下有Public文件夾以及其中的error.html即可,不需要一定有Public模塊$this->display(其他主題下的 文件夾下的 模板文件);/需要開啟主題支持$this->display('my:Index:index');三、模板中的賦值 (重點(diǎn))/$this->assign('name',&
25、#39;趙桐正');$this->name='趙桐正2'$this->display();四、模板替換 (重點(diǎn))_PUBLIC_:會被替換成當(dāng)前網(wǎng)站的公共目錄 通常是 /Public/_ROOT_: 會替換成當(dāng)前網(wǎng)站的地址(不含域名) _APP_: 會替換成當(dāng)前項(xiàng)目的URL地址 (不含域名)_GROUP_:會替換成當(dāng)前分組的URL地址 (不含域名)_URL_: 會替換成當(dāng)前模塊的URL地址(不含域名)_ACTION_:會替換成當(dāng)前操作的URL地址 (不含域名)_SELF_: 會替換成當(dāng)前的頁面URL更換模板變量規(guī)則,修改配置項(xiàng)'TMPL_PARSE_
26、STRING'=>array( /添加自己的模板變量規(guī)則'_CSS_'=>_ROOT_.'/Public/Css','_JS_'=>_ROOT_.'/Public/Js',),配置項(xiàng)'URL_PATHINFO_DEPR'=>'-',/修改URL的分隔符'TMPL_L_DELIM'=>'<', /修改左定界符'TMPL_R_DELIM'=>'>', /修改右定界符'DB_TY
27、PE'=>'mysql', /設(shè)置數(shù)據(jù)庫類型'DB_HOST'=>'localhost',/設(shè)置主機(jī)'DB_NAME'=>'thinkphp',/設(shè)置數(shù)據(jù)庫名'DB_USER'=>'root', /設(shè)置用戶名'DB_PWD'=>'', /設(shè)置密碼'DB_PORT'=>'3306', /設(shè)置端口號'DB_PREFIX'=>'tp_', /設(shè)置
28、表前綴'DB_DSN'=>'mysql:/root:localhost:3306/thinkphp',/使用DSN方式配置數(shù)據(jù)庫信息'SHOW_PAGE_TRACE'=>true,/開啟頁面Trace'TMPL_TEMPLATE_SUFFIX'=>'.html',/更改模板文件后綴名'TMPL_FILE_DEPR'=>'_',/修改模板文件目錄層次# ThinkPHP 3.1.2 模板中的變量本節(jié)課大綱:一、變量輸出 (重點(diǎn))1.標(biāo)量輸出2.數(shù)組輸出$name
29、1$name'k2'$name.k13.對象輸出$name:k$name->k二、系統(tǒng)變量$Think.get.id三、使用函數(shù)$name|strtoupper 生成的編譯后文件是 <?php echo (strtoupper($name); ?>$name|date='Y m d H:i:s',#四、默認(rèn)值$name|default='這里是默認(rèn)值'五、運(yùn)算符+ - * / % + -$name+# ThinkPHP 3.1.2 模板中的基本語法本節(jié)課大綱:一、導(dǎo)入CSS和JS文件 1、css link js scr<l
30、ink rel='stylesheet' type='text/css' href='_PUBLIC_/Css/test.css'/><script src='_PUBLIC_/Js/test.js'></script>2.import<import type='js' file='Js.test' /> /導(dǎo)入Public文件夾下面的Js目錄中的test.js文件,import標(biāo)簽可以省略type屬性,默認(rèn)就是js的<import type='
31、;css' file='Css.test' />/可以更改默認(rèn)文件夾 設(shè)置basepath屬性<import type='js' file='Js.my' basepath='./Other'/>3.load/方法可以自動檢測導(dǎo)入的文件類型<load href='_PUBLIC_/Js/test.js' />二、分支結(jié)構(gòu)1、if<if condition='$sex eq "男"'>男人是泥巴做的<else />女人是
32、水做的</if><if condition='$age lt 18'>未成年<elseif condition='$age eq 18'/>青春年少<else />成年</if>> gt< lt= eq<= elt>= egt!= neq= heq!= nheq<switch name='number'><case value='1'>一個和尚挑水吃</case><case value='2'
33、;>兩個和尚臺水吃</case><case value='3'>三個和尚沒水吃</case><default/> 這里是默認(rèn)值</switch>三、循環(huán)結(jié)構(gòu)1.for<table border='1' width='500'><for start='10' end='00' name='j' step='-2' comparison='gt'><tr><td&g
34、t;$j</td><td>abc</td></tr></for></table>2.volist<volist name='list' id='v'>$v.username<br/></volist>3.foreach<foreach name='list' item='v' key='k'>$k-$v<br/></foreach>四、特殊標(biāo)簽1、比較標(biāo)簽eq或者 equa
35、l 等于 neq 或者notequal 不等于 gt 大于 egt 大于等于 lt 小于 elt 小于等于 heq 恒等于 nheq 不恒等于 2.范圍標(biāo)簽in <in name='n' value='9,10,11,12'>在這些數(shù)字里面<else/>不在這些數(shù)字的范圍內(nèi)</in><notin name='n' value='9,10,11,12'>在這些數(shù)字里面<else/>不在這些數(shù)字的范圍內(nèi)</in>between<notbetween name
36、='n' value='1,10'>$n在1-10之間<else/>$n不在1到10之間</between>3.present標(biāo)簽來判斷模板變量是否已經(jīng)賦值,<present name='m'>m有賦值<else/>m沒有賦值</present>4.Emptyempty標(biāo)簽判斷模板變量是否為空,<empty name='n'>n為空賦值<else/>n有值</empty>5.Defined 判斷常量是否已經(jīng)定義6.Define在模
37、板中定義常量7.Assing模板中變量賦值五、其他標(biāo)簽使用1、在模板中直接使用PHP代碼<php> echo "我是趙桐正" </php>2、建議更改左右定界符在配置文件中改變'TMPL_L_DELIM'=>'<', /修改左定界符'TMPL_R_DELIM'=>'>', /修改右定界符# ThinkPHP 3.1.2 模板的使用技巧本節(jié)課大綱:一、模板包含<include file="完整模板文件名" /><include
38、file="./Tpl/default/Public/header.html" /><include file="read" /><include file="Public:header" /><include file="blue:User:read" /><include file="$tplName" /><include file="header" title="ThinkPHP框架"ke
39、ywords="開源WEB開發(fā)框架"/>在模板中變量用變量接受<include file='file1,file2' />二、模板渲染1、自動開啟模板渲染 設(shè)置配置文件'LAYOUT_ON'=>true,/開啟模板渲染準(zhǔn)備一個模板渲染頁面,在頁面中使用_CONTENT_接受具體模板頁面的內(nèi)容如果在摸一個具體模板中不希望使用渲染模板,可以在頁首添加_NOCONTENT_2、不開啟自動模板渲染可以在每一個具體頁面的頁首添加<layout name='layout'/>三、模板的繼承# Think
40、PHP 3.1.2 控制器的模塊和操作#講師:趙桐正微博:本節(jié)課大綱:一、空模塊和空操作1、空操作function _empty($name)$this->show("$name 不存在 <a href='_APP_/Index/index'>返回首頁</a>");2.空模塊class EmptyAction extends Actionfunction index()$city=M('City');$arr=$city->select();$this->assign('list',$arr);$name=MODULE_NAME;$this->display("City:$name");二、前置操作和
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度環(huán)保項(xiàng)目大額借款協(xié)議及環(huán)境監(jiān)測合同3篇
- 2025版苗木采購與園林景觀施工一體化服務(wù)合同4篇
- 二零二五年度標(biāo)準(zhǔn)公司租賃合同范本2篇
- 2025年度鋼構(gòu)工程后期維護(hù)保養(yǎng)合同范本2篇
- 二零二五版農(nóng)村房屋買賣糾紛仲裁合同4篇
- 2025年度內(nèi)參報告撰寫與行業(yè)研究合同4篇
- 2025年山地承包及森林資源可持續(xù)利用合同4篇
- 2025年度個人貸款合同變更條款模板2篇
- 二零二五年度木材產(chǎn)業(yè)園區(qū)建設(shè)投資合同4篇
- 男性生殖系統(tǒng)健康知識
- 護(hù)理服務(wù)在產(chǎn)科中的應(yīng)用課件
- 流行文化對青少年價值觀的影響研究
- 2024年代理記賬工作總結(jié)6篇
- 電氣工程預(yù)算實(shí)例:清單與計價樣本
- VOC廢氣治理工程中電化學(xué)氧化技術(shù)的研究與應(yīng)用
- 煤礦機(jī)電設(shè)備培訓(xùn)課件
- 科技論文圖表等規(guī)范表達(dá)
- 高考寫作指導(dǎo)議論文標(biāo)準(zhǔn)語段寫作課件32張
- 2021年普通高等學(xué)校招生全國英語統(tǒng)一考試模擬演練八省聯(lián)考解析
- 紅色研學(xué)旅行課程的設(shè)計與實(shí)踐
- 幼兒園保育教育質(zhì)量指南評估指標(biāo)考核試題及答案
評論
0/150
提交評論