




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
Thinkphp6.0框架微信小程序開發
5.6.1Thinkphp6.0框架基礎
1.ThinkPHP6.0ThinkPHP是一個快速、簡單、免費開源的、面向對象的輕量級國產PHP開發框架,是為了WEB應用開發而誕生的。用ThinkPHP開發項目,就想搭積木一樣,非常方便,不再重復造輪子,規范開發流程、降低開發難度、提高開發效率。目前ThinkPHP最新版本是6.0。
5.6.1Thinkphp6.0框架基礎
2.ThinkPHP6.0安裝本教程素材庫中,shop目錄里已經安裝好ThinkPHP6.0,在前面5.1章節中,已經把shop目錄所有內容復制到d:/phpstudy_pro/www文件夾下。shop目錄就是本教程的點餐小程序的項目目錄。
5.6.1Thinkphp6.0框架基礎
vendor目錄:是存放框架源碼的位置,在vendor/topthink/src/think目錄下存放的就是框架源碼。app目錄:是應用目錄,保存用戶正在開發的應用。config目錄:是整個框架的配置目錄,該目錄里的database.php文件,對數據庫進行配置。public目錄:WEB目錄(對外訪問目錄)。該目錄里的index.php文件是入口文件。route目錄:是用戶自定義的路由。controller控制器目錄model模型目錄common.php公共函數文件3.ThinkPHP6.0目錄結構
5.6.1Thinkphp6.0框架基礎
【示例5-45】在d:\phpstudy_pro\www\app\Controller\Test.php里面定義接口函數index,該函數功能是打印6個8。代碼為域名index.php為入口文件,是整個Web應用的起點。Test為控制器名,即類文件名。index為操作方法名,即函數名。運行phpStudy,創建網站,域名,導入點餐數據庫,啟動Apache和MySQL成功。運行效果
5.6.2ThinkPHP6.0請求
當瀏覽器向Web服務器發出請求時,它向服務器傳遞了數據,也就是請求信息。在Thinkphp6.0中,獲取請求對象數據,是由think\Request類負責,通過Request對象完成全局輸入變量的檢測、獲取和安全過濾。支持$_GET、$_POST、$_REQUEST、$_SERVER、$_SESSION、$_COOKIE、$_ENV等系統變量,以及文件上傳信息。要使用請求對象必須使用門面方式(think\facade\Request類負責)調用。運行phpStudy,創建網站,域名,導入點餐數據庫,啟動Apache和MySQL成功。
5.6.2ThinkPHP6.0請求
1.獲取當前域名【示例5-46】:在d:\phpstudy_pro\www\shop\app\Controller\Test.php里面定義接口函數test1,代碼運行效果
5.6.2ThinkPHP6.0請求
如果只需要獲取當前請求的部分參數,采用only方法能夠安全的獲取需要的變量。Request::only(['參數']);2.獲取部分變量示例:只獲取當前請求的id變量Request::only(['id']);
5.6.3使用查詢構造器操作數據庫
查詢構造器(querybuilder)提供方便、流暢的接口,可以有效的提高數據存取的代碼清晰度和開發效率。一、查詢數據1.單條數據查詢find如果查詢結果不存在,返回null,否則返回結果為數組。格式:Db::name('表名')->field('字段名1,字段名2...')->where('字段名','查詢表達式','查詢條件')->find();①數據庫操作統一入口:Db::②name('表名'):用于定義要操作的數據表名稱③field('字段名1,字段名2...'):設置查詢字段列表④where('字段名','查詢表達式','查詢條件'):查詢表達式為等于(=)時,可以省略等于(=)⑤在數據庫配置文件database.php中,設置了數據庫表前綴,在PHP代碼中表名就可以不寫前綴了。
5.6.3使用查詢構造器操作數據庫
【示例5-47】:在d:\phpstudy_pro\www\shop\app\Controller\Test.php文件里,定義接口函數demo1,查詢點餐小程序shop數據庫hr_goods商品表中id為1的記錄,并且只查看id、title和price字段,并打印輸出。商品表中數據如下圖5-67所示,代碼如下。運行效果代碼運行phpStudy,創建網站,域名,導入點餐數據庫,啟動Apache和MySQL成功。
5.6.3使用查詢構造器操作數據庫
2.多條數據查詢select【示例5-48】:定義接口函數demo2,查詢點餐小程序shop數據庫hr_goods商品表記錄,并且按照價格降序排列,并打印輸出。代碼select方法查詢結果是一個二維數組,如果結果不存在,返回空數組。Db::name('表名')->field('字段名1,字段名2…')->where('字段名','查詢表達式','查詢條件')->order('字段desc')->select();降序排列方法:order('字段desc')升序排列方法:order('字段名asc')運行phpStudy,創建網站,域名,導入點餐數據庫啟動Apache和MySQL成功。運行效果
5.6.3使用查詢構造器操作數據庫
(1)toArray()
select方法查詢結果是一個數據集對象,如果需要轉換為數組可以使用toArray()Db::name('表名')->field('字段名1,字段名2…')->where('字段名','查詢表達式','查詢條件')->order('字段desc')->select()->toArray();【示例5-49】:定義接口函數demo3,查詢點餐小程序shop數據庫hr_goods商品表記錄,把查詢結果轉換成數組,并用foreach循環遍歷出來。代碼運行效果運行phpStudy,創建網站,域名,導入點餐數據庫,啟動Apache和MySQL成功。
5.6.3使用查詢構造器操作數據庫
(2)array_column()返回數組中某個單一列的值。
5.6.3使用查詢構造器操作數據庫
【示例5-50】:定義接口函數demo4,查詢點餐小程序shop數據庫hr_goods商品表記錄,把查詢結果轉換成數組,取出數組中price列,用"id"列作為鍵名。代碼如下代碼運行效果運行phpStudy,創建網站,域名,導入點餐數據庫.啟動Apache和MySQL成功。
5.6.3使用查詢構造器操作數據庫
二、添加數據1.insert方法:添加一條記錄insert方法添加數據成功返回添加成功的條數,通常情況返回1。Db::name('表名')->insert($data);注意:要先給$data賦值代碼運行效果【示例5-51】:定義接口函數demo5,給點餐小程序shop數據庫hr_goods商品表添加1條記錄,添加成功,輸出影響的記錄數。運行phpStudy,創建網站,域名,導入點餐數據庫,啟動Apache和MySQL成功。
5.6.3使用查詢構造器操作數據庫
2.insertGetId方法:新增數據并返回主鍵值。Db::name('表名')->insertGetId($data);注意:要先給$data賦值【示例5-52】:定義接口函數demo6,給點餐小程序shop數據庫hr_goods商品表添加1條記錄,添加成功,輸出影響新增記錄的主鍵值。運行效果代碼運行phpStudy,創建網站,域名,導入點餐數據庫啟動Apache和MySQL成功。
5.6.3使用查詢構造器操作數據庫
3.insertAll方法:添加多條數據,添加數據成功返回添加成功的條數Db::name('表名')->insertAll($data);注意:要先給$data賦值【示例5-53】:定義接口函數demo7,給點餐小程序shop數據庫hr_goods商品表添加3條記錄,添加成功,輸出影響的記錄數。代碼運行效果運行phpStudy,創建網站,域名,導入點餐數據庫。啟動Apache和MySQL成功。
5.6.3使用查詢構造器操作數據庫
三、修改數據updateupdate方法返回影響數據的條數,如果沒修改任何數據,則返回0。格式:Db::name('表名')->where(條件)->update($data);注意:要先給$data賦值【示例5-54】:定義接口函數demo8,把點餐小程序shop數據庫hr_goods商品表中id為10的記錄中price值改為20,修改成功,輸出影響的記錄數。運行效果代碼運行phpStudy,創建網站,域名,導入點餐數據庫。啟動Apache和MySQL成功。
5.6.3使用查詢構造器操作數據庫
四、刪除數據delete返回影響數據的條數,如果沒有刪除,則返回0。Db::name('表名')->where(條件)->delete();【示例5-55】:定義接口函數demo9,給點餐小程序shop數據庫中hr_goods商品表中刪除price字段小于30的記錄,刪除成功,輸出影響的記錄數。運行效果代碼運行phpStudy,創建網站,域名,導入點餐數據庫。啟動Apache和MySQL成功。
5.6.4ThinkPHP6.0模型
1.ThinkPHP6.0模型的基本概念把傳統的數據庫進行面向對象的封裝,數據庫中每一個表對應一個模型類,類文件就是PHP文件,數據庫表里的每一條記錄對應一個模型對象,數據庫表里每一個字段對應模型中的屬性。可以用面向對象的方式,使用模型類來操作數據表。一張簡單的表對應模型
5.6.4ThinkPHP6.0模型
2.TP6模型類的創建(1)創建一個跟控制器平級的目錄,目錄名:model(2)在model目錄里創建模型類,模型類名必須與數據庫同名,類名用駝峰法命名
5.6.4ThinkPHP6.0模型
2.TP6模型類的創建示例:創建微信小程序中訂單表模型類Order示例:創建微信小程序中訂單商品表模型類OrderGoods
5.6.4ThinkPHP6.0模型
3.模型關聯:通過模型關聯操作把數據表的關聯關系對象化,避免在模型內部使用復雜的join查詢和視圖查詢。更高效的操作數據。
h
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CCBD 19-2022品牌餐廳評價規范
- T/CAQI 18-2016嬰幼兒室內空氣質量分級
- java模塊面試題及答案
- 高考聯考試題及答案
- 人類健康與長壽秘密課件
- T/CAEPI 49-2022污水處理廠低碳運行評價技術規范
- 人的健康課件
- 競選大隊委員演講稿
- 企業村鎮應急互助協議書
- 工廠員工水杯定制協議書
- 2024年江蘇省南京市玄武區玄武外國語學校八年級下學期物理期末模擬卷1
- 河砂、碎石組織供應、運輸、售后服務方案
- 免疫學實驗技術智慧樹知到期末考試答案章節答案2024年哈爾濱醫科大學大慶校區
- 2024年福建省泉州市惠安縣綜治網格員招聘173人歷年高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 《城軌通信信號基礎設備應》課件-FTGS軌道電路
- 浙江省寧波市鎮海區人教PEP版2022年小學畢業考試英語試卷【含答案】
- 中班語言《傘》課件
- 心悸-《中醫內科學》教案
- 營區物業服務營區物業服務保密措施
- 托槽粘結醫學課件
- 藍曬創作方案
評論
0/150
提交評論