在本教程的其余部分,我們將基于 ThinkPHP 框架完成一個(gè)天氣查詢的應(yīng)用。使用 天氣查詢-API文檔-開發(fā)指南-Web服務(wù) API | 高德地圖API 的接口來實(shí)現(xiàn)我們的功能。把查詢數(shù)據(jù)緩存到 MySql 中,這樣就不用每次頻繁的請求第三方的接口了(有請求次數(shù)限制)
在景寧畬族自治等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制網(wǎng)站建設(shè),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站制作,景寧畬族自治網(wǎng)站建設(shè)費(fèi)用合理。
選擇高德開放平臺(tái)-天氣查詢 API 主要是因?yàn)樗敲赓M(fèi)的。當(dāng)然你也可以使用其他的第三方天氣查詢接口,看個(gè)人喜好。
該應(yīng)用是一個(gè)非常簡單的 REST API 應(yīng)用,主要實(shí)現(xiàn)兩個(gè)接口。
在我們進(jìn)行應(yīng)用編碼之前,首先使用 Docker 安裝并運(yùn)行 ThinkPHP
ThinkPHP 是一個(gè)免費(fèi)開源的,快速、簡單的面向?qū)ο蟮? 輕量級PHP開發(fā)框架 ,是為了敏捷WEB應(yīng)用開發(fā)和簡化企業(yè)應(yīng)用開發(fā)而誕生的。ThinkPHP從誕生以來一直秉承簡潔實(shí)用的設(shè)計(jì)原則,在保持出色的性能和至簡代碼的同時(shí),更注重易用性。遵循 Apache2 開源許可協(xié)議發(fā)布,意味著你可以免費(fèi)使用ThinkPHP,甚至允許把你基于ThinkPHP開發(fā)的應(yīng)用開源或商業(yè)產(chǎn)品發(fā)布/銷售 。
這就是為什么我選擇它作為本教程的教學(xué)框架。我不想讓你因?yàn)橐粋€(gè)框架而放棄,但我也不想從頭開始建立所有的東西,因?yàn)樵摻坛痰闹攸c(diǎn)是Docker,而不是我們的PHP應(yīng)用。
用Docker 創(chuàng)建 ThinkPHP 應(yīng)用 實(shí)際上比用本地配置PHP環(huán)境所需的操作少。并且為我們還需要使用 Composer,多虧了Docker,我們甚至不需要在主機(jī)上安裝它。
首先打開你的終端,創(chuàng)建一個(gè)項(xiàng)目目錄。
并進(jìn)入到該目錄中
現(xiàn)在使用[官方Composer Docker鏡像]()安裝 ThinkPHP 。
如果你查看weather-app/目錄,你會(huì)看到 ThinkPHP 6 的項(xiàng)目目錄,如下所示:
我們的 docker 運(yùn)行命令與第二章中的命令相似,但我們使用了不同的鏡像。我們沒有使用運(yùn)行hello.php 腳本的 PHP 鏡像,而是使用了一個(gè) Composer 鏡像。讓我們來看看有什么變化。
項(xiàng)目創(chuàng)建完成后,我們需要添加幾個(gè)路由 URL 和 Controller 文件 。讓我們打開 weather-app 目錄下的 app/controller , 然后新建 Weather.php 文件,內(nèi)容如下:
然后打開 weather-app 目錄下的 app/route , 在 app.php 文件中追加如下內(nèi)容:
現(xiàn)在我們可以在 Docker 容器中運(yùn)行我們的應(yīng)用程序,只是為了驗(yàn)證我們的程序是否運(yùn)行正常,因?yàn)槲覀冎惶砑恿藘蓚€(gè)路由 URL。打開命令行,運(yùn)行。
現(xiàn)在,在瀏覽器中打開 ,你應(yīng)該看到一個(gè)空頁面,上面有以下文字:
那么恭喜你,你剛剛已經(jīng)成功地在 Docker 中運(yùn)行了你的第一個(gè) ThinkPHP 應(yīng)用程序。
這次我們使用的docker run命令與我們用來運(yùn)行 hello.php 腳本 和composer create-project ...的兩個(gè)命令不同。原因是這次我們想獲得包含 Apache 的最新版本的PHP,這樣我們就可以為我們的 Web 應(yīng)用提供服務(wù)。讓我們更詳細(xì)地了解新增的命令部分。
你可以通過向終端發(fā)送一個(gè) "中斷 "信號來停止和退出終端。在 windows 上,這可以通過按 Ctrl 和按c來實(shí)現(xiàn)。
運(yùn)行你的新網(wǎng)絡(luò)應(yīng)用程序的另一個(gè)選擇是在 "Detached"模式中運(yùn)行容器。這意味著你在終端將不會(huì)看到來自你的容器的輸出。這可以通過在我們之前的命令中添加-d標(biāo)志來實(shí)現(xiàn)。
在分離模式下啟動(dòng)容器后,你的終端將顯示新容器的完整ID--類似于a70d25c2a7cedae673f8ab...如果你想停止這個(gè)容器,你可以使用docker stop命令,用容器的ID告訴Docker。比如說
因?yàn)檩斎胝麄€(gè)ID是很麻煩的,如果你愿意,Docker允許你只輸入前三個(gè)或更多的字符。
最后,我建議為你的容器命名。我們在本書后面的許多例子中都會(huì)這樣做,因?yàn)橛妹謥碛涀∫粋€(gè)容器比用隨機(jī)分配的ID要容易得多,再加上ID是隨機(jī)的,所以每次你運(yùn)行一個(gè)新版本的容器時(shí),它都會(huì)得到一個(gè)新的ID。只要不是已經(jīng)有一個(gè)同名的容器,名字就可以多次發(fā)出來。為了給我們的新應(yīng)用容器命名,我們可以用傳入的--name標(biāo)志重新創(chuàng)建它。
在使用docker run命令時(shí),還有許多可用的選項(xiàng),所以你可能想更詳細(xì)地閱讀文檔。在我們開發(fā)其余的應(yīng)用程序時(shí),我們會(huì)涉及其中的一些選項(xiàng)。
現(xiàn)在我們要引入高德的天氣 SDK ,在使用該 SDK 之前你需要閱讀高德開放平臺(tái)-天氣查詢的技術(shù)文檔,再添加 SDK 之前我們首先要確保所有現(xiàn)有的容器都停止了。
這個(gè)命令將列出所有正在運(yùn)行的容器。你也可以通過添加-a標(biāo)志來查看停止的容器。
如果有任何容器正在運(yùn)行,那么在我們繼續(xù)前進(jìn)之前,使用docker stop 來停止它們。
該命令將在你的項(xiàng)目中裝新的軟件包。在這個(gè)過程中,你應(yīng)該在終端看到一些類似這樣的輸出。
現(xiàn)在 SDK 已經(jīng)安裝完畢,可以使用了。
我們將使用剛剛添加的高德天氣 SDK 來完善我們的業(yè)務(wù)邏輯,打開 controller 目錄下的 Weather.php 添加以下內(nèi)容:
我們做了一些更新--主要是對引入天氣 API 初始化天氣類
我們的應(yīng)用程序已經(jīng)初步完成了向API傳遞一個(gè)真實(shí)的位置ID并返回一些數(shù)據(jù)。首先,使用這個(gè)高德位置查詢找到一個(gè)位置ID。我使用的是上海的ID進(jìn)行測試。310000,當(dāng)然你直接傳 上海 也是可以的。ok,讓我們再次運(yùn)行Docker容器。
并在你的瀏覽器中訪問正在運(yùn)行的應(yīng)用程序,地址是。你應(yīng)該可以看到一個(gè)JSON數(shù)據(jù),看起來像這樣。
你的 Docker 化的 PHP 應(yīng)用程序現(xiàn)在正從外部數(shù)據(jù)源返回真實(shí)數(shù)據(jù),并在Apache中提供服務(wù),但你可能會(huì)注意到,它的速度并不快(我的頁面加載時(shí)間為1.92秒!)。
高德天氣 API 是一個(gè)免費(fèi)的服務(wù),其他國家可能無法訪問。為了解決這個(gè)問題,我們將把查詢的數(shù)據(jù)保存在我們自己的 MySQL 數(shù)據(jù)庫中,可以再下次訪問的時(shí)候可以快速地響應(yīng)。這將極大地提高性能,下個(gè)章節(jié)我們將學(xué)習(xí)如何用 Docker 將 MySql 與 PHP 應(yīng)用程序相結(jié)合。
PHP實(shí)訓(xùn)報(bào)告:需求分析---系統(tǒng)設(shè)計(jì)--結(jié)構(gòu)設(shè)計(jì)---數(shù)據(jù)庫設(shè)計(jì)---編碼---單元測試--總體測試來寫實(shí)訓(xùn)報(bào)告
1、首先寫上實(shí)驗(yàn)地點(diǎn),名字,老師,班級。
2、其次,實(shí)驗(yàn)的名稱,還有實(shí)驗(yàn)的環(huán)境,實(shí)驗(yàn)?zāi)康摹?/p>
3、實(shí)驗(yàn)步驟,再添加數(shù)據(jù)庫即可。
構(gòu)建想要的功能。thinkphp是一種用php語言構(gòu)建的快速開發(fā)框架,是一個(gè)來源輕量級的php框架。thinkphp6數(shù)據(jù)庫操作的實(shí)驗(yàn)?zāi)康氖菢?gòu)建想要的功能。數(shù)據(jù)庫是“按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫”。是一個(gè)長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的、統(tǒng)一管理的大量數(shù)據(jù)的集合。
專門的定制的東西百度的分就不頂用了
需要money的親
需要的話聯(lián)系
希望能幫助到你
網(wǎng)站標(biāo)題:php寫數(shù)據(jù)庫實(shí)訓(xùn) 大學(xué)生php實(shí)訓(xùn)報(bào)告范文
網(wǎng)頁鏈接:http://www.chinadenli.net/article40/hpggho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站維護(hù)、網(wǎng)站內(nèi)鏈、企業(yè)網(wǎng)站制作、靜態(tài)網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)