1.2 PhalApi 2.x 運行Hello World

2018-07-28 21:23 更新

運行Hello World

此文章假設你已成功安裝PhalApi2項目,如果尚未安裝,可閱讀下載與安裝。

編寫一個接口

在PhalApi 2.x 版本中,項目源代碼放置在/path/to/PhalApi2/src目錄中。里面各個命名空間對應一個子目錄,默認命名空間是app,里面主要有Api、Domain、Model這三個目錄以及存放函數(shù)的functions.php文件。例如像是這樣的目錄結構:

./src/
└── app
    ├── Api
    ├── Domain
    ├── functions.php
    └── Model

當需要新增一個接口時,先要在Api層添加一個新的接口文件。例如對于Hello World示例,可以使用你喜歡的編輯器創(chuàng)建一個./src/app/Api/Hello.php文件,并在里面放置以下代碼。

// 文件 ./src/app/Api/Hello.php
<?php
namespace App\Api;


use PhalApi\Api;


class Hello extends Api {


    public function world() {
        return array('title' => 'Hello World!');
    }
}

編寫接口時,需要特別注意:

  • 1、默認所在命名空間必須為App\Api。
  • 2、具體實現(xiàn)的接口類必須是PhalApi\Api的子類。

訪問一個接口

通常情況下,建議可訪問的根路徑設為/path/to/PhalApi2/public。若未設置,此時接口訪問的URL格式為:接口域名/public/?s=Namespace.Class.Action。其中,s參數(shù)用于指定待請求的接口服務,由三部分組成。分別是:

組成部分 是否必須 默認值 說明
Namespace 可選 App Api命名空間前綴,多級命名空間時用下劃線分割
Class 必須 待請求的接口類名,通常首字母大寫
Action 必須 待請求的接口類方法名,通常首字母大寫。若Class和Action均未指定時,默認為Site.Index

溫馨提示:s參數(shù)為service參數(shù)的縮寫,即使用?s=Class.Action等效于?service=Class.Action,兩者都存在時優(yōu)先使用service參數(shù)。

例如,上面新增的Hello World接口的訪問鏈接為:

http://dev.phalapi.net/?s=Hello.World

或者可以使用完整的寫法,帶上命名空間App:

http://dev.phalapi.net/?s=App.Hello.World

接口返回

默認情況下,接口的結果以JSON格式返回,并且返回的頂級字段有狀態(tài)碼ret、業(yè)務數(shù)據(jù)data,和錯誤提示信息msg。其中data字段對應接口類方法返回的結果。如Hello Wolrd示例中,返回的結果是:

{"ret":200,"data":{"title":"Hello World!"},"msg":""}

JSON可視化后是:

{
    "ret": 200,
    "data": {
        "title": "Hello World!"
    },
    "msg": ""
}

恭喜!你已順便完成PhalApi 2.x 簡單的接口開發(fā)了!

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號