PHP程序設(shè)計(jì)與微信小程序案例教程課件:Thinkphp 6.0框架_第1頁
PHP程序設(shè)計(jì)與微信小程序案例教程課件:Thinkphp 6.0框架_第2頁
PHP程序設(shè)計(jì)與微信小程序案例教程課件:Thinkphp 6.0框架_第3頁
PHP程序設(shè)計(jì)與微信小程序案例教程課件:Thinkphp 6.0框架_第4頁
PHP程序設(shè)計(jì)與微信小程序案例教程課件:Thinkphp 6.0框架_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Thinkphp6.0框架微信小程序開發(fā)

5.6.1Thinkphp6.0框架基礎(chǔ)

1.ThinkPHP6.0ThinkPHP是一個(gè)快速、簡(jiǎn)單、免費(fèi)開源的、面向?qū)ο蟮妮p量級(jí)國產(chǎn)PHP開發(fā)框架,是為了WEB應(yīng)用開發(fā)而誕生的。用ThinkPHP開發(fā)項(xiàng)目,就想搭積木一樣,非常方便,不再重復(fù)造輪子,規(guī)范開發(fā)流程、降低開發(fā)難度、提高開發(fā)效率。目前ThinkPHP最新版本是6.0。

5.6.1Thinkphp6.0框架基礎(chǔ)

2.ThinkPHP6.0安裝本教程素材庫中,shop目錄里已經(jīng)安裝好ThinkPHP6.0,在前面5.1章節(jié)中,已經(jīng)把shop目錄所有內(nèi)容復(fù)制到d:/phpstudy_pro/www文件夾下。shop目錄就是本教程的點(diǎn)餐小程序的項(xiàng)目目錄。

5.6.1Thinkphp6.0框架基礎(chǔ)

vendor目錄:是存放框架源碼的位置,在vendor/topthink/src/think目錄下存放的就是框架源碼。app目錄:是應(yīng)用目錄,保存用戶正在開發(fā)的應(yīng)用。config目錄:是整個(gè)框架的配置目錄,該目錄里的database.php文件,對(duì)數(shù)據(jù)庫進(jìn)行配置。public目錄:WEB目錄(對(duì)外訪問目錄)。該目錄里的index.php文件是入口文件。route目錄:是用戶自定義的路由。controller控制器目錄model模型目錄common.php公共函數(shù)文件3.ThinkPHP6.0目錄結(jié)構(gòu)

5.6.1Thinkphp6.0框架基礎(chǔ)

【示例5-45】在d:\phpstudy_pro\www\app\Controller\Test.php里面定義接口函數(shù)index,該函數(shù)功能是打印6個(gè)8。代碼為域名index.php為入口文件,是整個(gè)Web應(yīng)用的起點(diǎn)。Test為控制器名,即類文件名。index為操作方法名,即函數(shù)名。運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫,啟動(dòng)Apache和MySQL成功。運(yùn)行效果

5.6.2ThinkPHP6.0請(qǐng)求

當(dāng)瀏覽器向Web服務(wù)器發(fā)出請(qǐng)求時(shí),它向服務(wù)器傳遞了數(shù)據(jù),也就是請(qǐng)求信息。在Thinkphp6.0中,獲取請(qǐng)求對(duì)象數(shù)據(jù),是由think\Request類負(fù)責(zé),通過Request對(duì)象完成全局輸入變量的檢測(cè)、獲取和安全過濾。支持$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系統(tǒng)變量,以及文件上傳信息。要使用請(qǐng)求對(duì)象必須使用門面方式(think\facade\Request類負(fù)責(zé))調(diào)用。運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫,啟動(dòng)Apache和MySQL成功。

5.6.2ThinkPHP6.0請(qǐng)求

1.獲取當(dāng)前域名【示例5-46】:在d:\phpstudy_pro\www\shop\app\Controller\Test.php里面定義接口函數(shù)test1,代碼運(yùn)行效果

5.6.2ThinkPHP6.0請(qǐng)求

如果只需要獲取當(dāng)前請(qǐng)求的部分參數(shù),采用only方法能夠安全的獲取需要的變量。Request::only(['參數(shù)']);2.獲取部分變量示例:只獲取當(dāng)前請(qǐng)求的id變量Request::only(['id']);

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

查詢構(gòu)造器(querybuilder)提供方便、流暢的接口,可以有效的提高數(shù)據(jù)存取的代碼清晰度和開發(fā)效率。一、查詢數(shù)據(jù)1.單條數(shù)據(jù)查詢find如果查詢結(jié)果不存在,返回null,否則返回結(jié)果為數(shù)組。格式:Db::name('表名')->field('字段名1,字段名2...')->where('字段名','查詢表達(dá)式','查詢條件')->find();①數(shù)據(jù)庫操作統(tǒng)一入口:Db::②name('表名'):用于定義要操作的數(shù)據(jù)表名稱③field('字段名1,字段名2...'):設(shè)置查詢字段列表④where('字段名','查詢表達(dá)式','查詢條件'):查詢表達(dá)式為等于(=)時(shí),可以省略等于(=)⑤在數(shù)據(jù)庫配置文件database.php中,設(shè)置了數(shù)據(jù)庫表前綴,在PHP代碼中表名就可以不寫前綴了。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

【示例5-47】:在d:\phpstudy_pro\www\shop\app\Controller\Test.php文件里,定義接口函數(shù)demo1,查詢點(diǎn)餐小程序shop數(shù)據(jù)庫hr_goods商品表中id為1的記錄,并且只查看id、title和price字段,并打印輸出。商品表中數(shù)據(jù)如下圖5-67所示,代碼如下。運(yùn)行效果代碼運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫,啟動(dòng)Apache和MySQL成功。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

2.多條數(shù)據(jù)查詢select【示例5-48】:定義接口函數(shù)demo2,查詢點(diǎn)餐小程序shop數(shù)據(jù)庫hr_goods商品表記錄,并且按照價(jià)格降序排列,并打印輸出。代碼select方法查詢結(jié)果是一個(gè)二維數(shù)組,如果結(jié)果不存在,返回空數(shù)組。Db::name('表名')->field('字段名1,字段名2…')->where('字段名','查詢表達(dá)式','查詢條件')->order('字段desc')->select();降序排列方法:order('字段desc')升序排列方法:order('字段名asc')運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫啟動(dòng)Apache和MySQL成功。運(yùn)行效果

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

(1)toArray()

select方法查詢結(jié)果是一個(gè)數(shù)據(jù)集對(duì)象,如果需要轉(zhuǎn)換為數(shù)組可以使用toArray()Db::name('表名')->field('字段名1,字段名2…')->where('字段名','查詢表達(dá)式','查詢條件')->order('字段desc')->select()->toArray();【示例5-49】:定義接口函數(shù)demo3,查詢點(diǎn)餐小程序shop數(shù)據(jù)庫hr_goods商品表記錄,把查詢結(jié)果轉(zhuǎn)換成數(shù)組,并用foreach循環(huán)遍歷出來。代碼運(yùn)行效果運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫,啟動(dòng)Apache和MySQL成功。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

(2)array_column()返回?cái)?shù)組中某個(gè)單一列的值。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

【示例5-50】:定義接口函數(shù)demo4,查詢點(diǎn)餐小程序shop數(shù)據(jù)庫hr_goods商品表記錄,把查詢結(jié)果轉(zhuǎn)換成數(shù)組,取出數(shù)組中price列,用"id"列作為鍵名。代碼如下代碼運(yùn)行效果運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫.啟動(dòng)Apache和MySQL成功。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

二、添加數(shù)據(jù)1.insert方法:添加一條記錄insert方法添加數(shù)據(jù)成功返回添加成功的條數(shù),通常情況返回1。Db::name('表名')->insert($data);注意:要先給$data賦值代碼運(yùn)行效果【示例5-51】:定義接口函數(shù)demo5,給點(diǎn)餐小程序shop數(shù)據(jù)庫hr_goods商品表添加1條記錄,添加成功,輸出影響的記錄數(shù)。運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫,啟動(dòng)Apache和MySQL成功。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

2.insertGetId方法:新增數(shù)據(jù)并返回主鍵值。Db::name('表名')->insertGetId($data);注意:要先給$data賦值【示例5-52】:定義接口函數(shù)demo6,給點(diǎn)餐小程序shop數(shù)據(jù)庫hr_goods商品表添加1條記錄,添加成功,輸出影響新增記錄的主鍵值。運(yùn)行效果代碼運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫啟動(dòng)Apache和MySQL成功。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

3.insertAll方法:添加多條數(shù)據(jù),添加數(shù)據(jù)成功返回添加成功的條數(shù)Db::name('表名')->insertAll($data);注意:要先給$data賦值【示例5-53】:定義接口函數(shù)demo7,給點(diǎn)餐小程序shop數(shù)據(jù)庫hr_goods商品表添加3條記錄,添加成功,輸出影響的記錄數(shù)。代碼運(yùn)行效果運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫。啟動(dòng)Apache和MySQL成功。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

三、修改數(shù)據(jù)updateupdate方法返回影響數(shù)據(jù)的條數(shù),如果沒修改任何數(shù)據(jù),則返回0。格式:Db::name('表名')->where(條件)->update($data);注意:要先給$data賦值【示例5-54】:定義接口函數(shù)demo8,把點(diǎn)餐小程序shop數(shù)據(jù)庫hr_goods商品表中id為10的記錄中price值改為20,修改成功,輸出影響的記錄數(shù)。運(yùn)行效果代碼運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫。啟動(dòng)Apache和MySQL成功。

5.6.3使用查詢構(gòu)造器操作數(shù)據(jù)庫

四、刪除數(shù)據(jù)delete返回影響數(shù)據(jù)的條數(shù),如果沒有刪除,則返回0。Db::name('表名')->where(條件)->delete();【示例5-55】:定義接口函數(shù)demo9,給點(diǎn)餐小程序shop數(shù)據(jù)庫中hr_goods商品表中刪除price字段小于30的記錄,刪除成功,輸出影響的記錄數(shù)。運(yùn)行效果代碼運(yùn)行phpStudy,創(chuàng)建網(wǎng)站,域名,導(dǎo)入點(diǎn)餐數(shù)據(jù)庫。啟動(dòng)Apache和MySQL成功。

5.6.4ThinkPHP6.0模型

1.ThinkPHP6.0模型的基本概念把傳統(tǒng)的數(shù)據(jù)庫進(jìn)行面向?qū)ο蟮姆庋b,數(shù)據(jù)庫中每一個(gè)表對(duì)應(yīng)一個(gè)模型類,類文件就是PHP文件,數(shù)據(jù)庫表里的每一條記錄對(duì)應(yīng)一個(gè)模型對(duì)象,數(shù)據(jù)庫表里每一個(gè)字段對(duì)應(yīng)模型中的屬性??梢杂妹嫦?qū)ο蟮姆绞剑褂媚P皖悂聿僮鲾?shù)據(jù)表。一張簡(jiǎn)單的表對(duì)應(yīng)模型

5.6.4ThinkPHP6.0模型

2.TP6模型類的創(chuàng)建(1)創(chuàng)建一個(gè)跟控制器平級(jí)的目錄,目錄名:model(2)在model目錄里創(chuàng)建模型類,模型類名必須與數(shù)據(jù)庫同名,類名用駝峰法命名

5.6.4ThinkPHP6.0模型

2.TP6模型類的創(chuàng)建示例:創(chuàng)建微信小程序中訂單表模型類Order示例:創(chuàng)建微信小程序中訂單商品表模型類OrderGoods

5.6.4ThinkPHP6.0模型

3.模型關(guān)聯(lián):通過模型關(guān)聯(lián)操作把數(shù)據(jù)表的關(guān)聯(lián)關(guān)系對(duì)象化,避免在模型內(nèi)部使用復(fù)雜的join查詢和視圖查詢。更高效的操作數(shù)據(jù)。

h

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論