




版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 離婚協(xié)議簽署地指定及跨地域執(zhí)行效力協(xié)議
- 高端郵輪運(yùn)營管理有限責(zé)任合作協(xié)議
- 影視動(dòng)畫渲染節(jié)點(diǎn)租賃與后期特效研發(fā)服務(wù)協(xié)議
- 特定礦種礦產(chǎn)資源勘探與委托運(yùn)營管理合同
- 電動(dòng)汽車新能源充電樁建設(shè)項(xiàng)目股權(quán)投資及運(yùn)營管理合同
- 民營醫(yī)院品牌托管與醫(yī)院管理培訓(xùn)服務(wù)協(xié)議
- 智能化建筑工程合同審查與施工質(zhì)量監(jiān)督協(xié)議
- 消防設(shè)施維護(hù)保養(yǎng)補(bǔ)充協(xié)議
- 拼多多品牌店鋪季節(jié)性營銷策略執(zhí)行協(xié)議
- 電子數(shù)據(jù)備份與災(zāi)難恢復(fù)能力保證協(xié)議
- 2024年江蘇省南京市玄武區(qū)玄武外國語學(xué)校八年級(jí)下學(xué)期物理期末模擬卷1
- 河砂、碎石組織供應(yīng)、運(yùn)輸、售后服務(wù)方案
- 免疫學(xué)實(shí)驗(yàn)技術(shù)智慧樹知到期末考試答案章節(jié)答案2024年哈爾濱醫(yī)科大學(xué)大慶校區(qū)
- 2024年福建省泉州市惠安縣綜治網(wǎng)格員招聘173人歷年高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 《城軌通信信號(hào)基礎(chǔ)設(shè)備應(yīng)》課件-FTGS軌道電路
- 浙江省寧波市鎮(zhèn)海區(qū)人教PEP版2022年小學(xué)畢業(yè)考試英語試卷【含答案】
- 中班語言《傘》課件
- 心悸-《中醫(yī)內(nèi)科學(xué)》教案
- 營區(qū)物業(yè)服務(wù)營區(qū)物業(yè)服務(wù)保密措施
- 托槽粘結(jié)醫(yī)學(xué)課件
- 藍(lán)曬創(chuàng)作方案
評(píng)論
0/150
提交評(píng)論