Skip to content

指令字使用

外掛與主程式之間,外掛與外掛之間,均透過指令字通訊,一個完整的通訊流程包括請求輸入 input 和結果輸出 output

請求輸入 input

名稱說明
\FresnsCmdWord指令字立面(Facades)
FresnsEmail請求物件 fskey,留空或填 Fresns 則表示由主程式處理請求
sendEmail指令字(可參考 Fresns 指令字
$wordBody指令字傳參的參數列表
php
// $參數數組名 = [參數數組];
$wordBody = [
    'email' => '收件者信箱',
    'title' => '郵件標題',
    'content' => '郵件內容',
];

// \指令字立面::plugin('外掛名稱')->指令字($參數陣列名)
\FresnsCmdWord::plugin('FresnsEmail')->sendEmail($wordBody);

另一種寫法

php
\FresnsCmdWord::plugin('FresnsEmail')->sendEmail([
    'email' => '收件者信箱',
    'title' => '郵件標題',
    'content' => '郵件內容',
]);

結果輸出 output

參數說明
code狀態碼
message狀態資訊
data輸出數據
json
// 成功
{
    "code": 0,
    "message": "ok",
    "data": {
        //指令字輸出數據
    }
}

// 失敗
{
    "code": 21001,
    "message": "外掛不存在",
    "data": {
        //指令字輸出數據
    }
}

錯誤碼 error code

CodeMessage
21000未配置外掛
21001外掛不存在
21002指令字不存在
21003指令字未知錯誤
21004指令字無響應
21005指令字請求參數錯誤
21006指令字執行請求出錯
21007指令字響應結果不正確
21008數據異常,查詢不到或者數據重複
21009執行異常,文件丟失或者記錄錯誤
21010指令字功能已關閉
21011指令字配置不正確

結果處理 fresnsResp

如果你是標準的使用指令字回參結果,可以藉助 Fresns Response 幫助你快速處理請求的返參。

範例:

php
$fresnsResp = \FresnsCmdWord::plugin('FresnsEmail')->sendEmail($wordBody);

處理異常狀況

php
if ($fresnsResp->isErrorResponse()) {
    return $fresnsResp->getErrorResponse();
}

處理正常狀況

php
$fresnsResp->getOrigin(); //取得原始數據(code+message+data)

$fresnsResp->getCode(); //只取得 code
$fresnsResp->getMessage(); //只取得 message
$fresnsResp->getData(); //只取得 data 全量數據
$fresnsResp->getData('user.nickname'); //只取得 data 中指定參數,例如 data.user.nickname

$fresnsResp->isSuccessResponse(); //判斷請求是否為 true
$fresnsResp->isErrorResponse(); //判斷請求是否為 false

$fresnsResp->getErrorResponse(); //內部使用輸出原始數據,API 呼叫輸出 JSON

遵循 Apache-2.0 開源協定