您好,登錄后才能下訂單哦!
php實現(xiàn)api接口的方法?這個問題可能是我們?nèi)粘W(xué)習(xí)或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純?nèi)容,讓我們一起來看看吧!
php實現(xiàn)api接口的方法:首先安裝好phpStudy并啟動;然后將項目代碼放在WWW目錄下;接著創(chuàng)建數(shù)據(jù)庫;最后編寫接口,并通過路由進行網(wǎng)絡(luò)請求即可。
用PHP編寫簡單的api(數(shù)據(jù)接口)
一、編寫接口所需幾樣工具或軟件(均是win7+64位):
1.phpStudy、SQLyog和編碼工具(sublime text/webStorm/vs code均可,按自己習(xí)慣來);
2.安裝好phpStudy之后,打開軟件,點擊啟動;如果Apache和MySQL右邊的顯示都是綠色的,那么說明服務(wù)啟動成功;另外注意一下開始的PHP服務(wù)版本,因為不同的版本對應(yīng)不同node.js版本或SQLyog版本,如果開啟不了,則自行百度解決,一般都是要下載對應(yīng)支持的VC9(分32位和64位)或VC11(分32位和64位)。
3.特別要注意的是,項目代碼一定要放在WWW目錄下,也就是安裝phpStudy的目錄下。我的是phpStudy/WWW,新版phpStudy可能會不一樣,多找找?guī)讉€文件夾,找到WWW文件夾即可。
3.SQLyog:用于操作數(shù)據(jù)庫。正版的需要破解(破解方法百度),打開之后就彈出以下窗口,有四個信息是比較重要的。
1)MySQL主機地址:填寫 localhost即可
2)用戶名和密碼:默認(rèn)都是root
3)端口:默認(rèn)3306
4)點擊“連接”按鈕進入(千萬要注意:只有在mysql服務(wù)啟動之后,才能點擊連接,不然會出現(xiàn)錯誤碼2003的錯誤提示)
2.右擊左上角的root@localhost,然后選擇創(chuàng)建數(shù)據(jù)庫;
3.然后在數(shù)據(jù)庫名,填寫自己的數(shù)據(jù)名稱;
4.創(chuàng)建之后,點擊左邊的+號打開,然后再右擊table,會出現(xiàn)創(chuàng)建表的選項;
5.點擊創(chuàng)建表之后彈出以下框,隨后在表格里填寫你想要的字段和這個字段的數(shù)據(jù)類型和長度大小以及是否為空,默認(rèn)值為多少等,填寫完之后點擊左下角的創(chuàng)建表就創(chuàng)建成功了;
6.最起初我們肯定要獲取到數(shù)據(jù)的,也就是get請求,所以表中我們要填充一些數(shù)據(jù)
二、安裝后臺開發(fā)環(huán)境:
1.這里博主用的是比較流行的后臺框架lavarel,可以直接去管理一鍵下載即可,然后解壓安裝;
2.將解壓后的文件夾放在phpStudy下的WWW文件夾下,開啟phpStudy之后,直接在瀏覽器里輸入:
localhost/解壓后的文件夾名稱/server/public/,然后回車就可看到以下界面(紅色框是我的文件路徑),出現(xiàn)以下界面說明開發(fā)環(huán)境搭建成功。
三、正式編寫接口:
1.首先要連接到你的本地數(shù)據(jù)庫(也就是剛才在SQLyog里新建的數(shù)據(jù)庫)。將解壓后的項目拖到編輯工具里(這里我用的sublime text),然后打開.env文件,如下圖:
2.然后在里面修改一些配置。下圖中我框出的六個配置要跟之前設(shè)置的要匹配,比如DB_CONNECTION=mysql;DB_HOST=localhost;DB_PORT=3306;即連接的數(shù)據(jù)庫類型、域名和端口號,這個一般都是默認(rèn)的,也與我們之前設(shè)置的是匹配的,最重要的是下面橢圓框框出的三個:
DB_DATABASE=test;這個是鏈接的數(shù)據(jù)庫名稱,剛才我們新建的就是test數(shù)據(jù)庫;
下面兩個是用戶名和密碼:默認(rèn)都是root
DB_USERNAME=root
DB_PASSWORD=root
3.連接好數(shù)據(jù)庫之后,在app目錄下新建一個Question.php文件,用于訪問question數(shù)據(jù)表;
class Question extends Model{ protected $table = 'question';//這里是訪問question這個表 protected $primaryKey = 'id';//這是訪問question表必須要帶的字段 protected function getDateFormat() { return time(); } }
4.開始編寫真正意義上的接口了。在app/Http/Controllers目錄下新建一個QuestionController.php文件,然后在上面寫上:
use App\Question 表示要接入這個數(shù)據(jù),便于操作;
public function getQuestion(Request $request){ $response = array('status'=>'0','msg'=>'failed','data'=>''); $data = array(); // 獲取請求參數(shù)值 $questionId = $request->input("questionId"); // 根據(jù)參數(shù)值去向表里查找對應(yīng)的數(shù)據(jù) $question = Question::find($questionId); // 查找完畢之后,把查找到的數(shù)據(jù)賦值給response下的data字段 $response['data'] = $question; $response['status'] = '2'; $response['msg'] = 'success'; return json_encode($response); }
5.寫完接口之后,最后是通過路由進行網(wǎng)絡(luò)請求的,所以還要在routes目錄下的web.php文件里寫下:
Route::any('getQuestion', "QuestionController@getQuestion");用于訪問這個接口;
6.測試。最后一個步驟就是測試自己寫的接口是否可用,測試之前一定要記得把服務(wù)器打開。在瀏覽器地址輸入欄輸入:
localhost/解壓后的文件夾名稱/server/public/getQuestion?questionId=1就可以獲取到后臺返回的數(shù)據(jù)了。這時會發(fā)現(xiàn),返回的數(shù)據(jù)跟我們之前在表中填充的數(shù)據(jù)是一模一樣的,那就意味著你寫接口是成功的。
四、在以上三個大步驟當(dāng)中,肯定不是那么一帆風(fēng)順的,肯定會遇到各種各樣的問題,這個時候也是考驗自己發(fā)現(xiàn)問題和解決問題能力的時候。不過大致的后臺開發(fā)過程就是這樣的,但是要注意的是,這個是本地配置的開發(fā)環(huán)境,用的也是本地的數(shù)據(jù)。最后要想讓自己的作品讓別人也能看見并且使用,那是需要把你的代碼部署到服務(wù)器的,那個時候各個配置問題又不一樣了,那就要把本地的開發(fā)環(huán)境換成線上的環(huán)境了,這里面要學(xué)的又會有很多...祝各位學(xué)習(xí)愉快
感謝各位的閱讀!看完上述內(nèi)容,你們對php實現(xiàn)api接口的方法大概了解了嗎?希望文章內(nèi)容對大家有所幫助。如果想了解更多相關(guān)文章內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。