2017-06-28 153 views
0

我有一個PHP函數,它內部使用其中一個字符串參數構建對象圖,然後使用json_encode()創建JSON字符串,然後將JSON字符串發佈到遠程Web服務。PHP字符串參數最佳實踐

像這樣:

function send($text) 
{ 
    $payload = array(
     'text' => $text 
     // Set additional properties here ... 
    ); 

    $payload_json = json_encode($payload); 

    // Post $payload_json to remote service with Curl ... 
} 

從json_encode(http://php.net/manual/en/function.json-encode.php)的手動

所有字符串數據必須是UTF-8編碼。

我看到一對夫婦的選擇:

  • 嘗試驗證$文字實際上是在UTF-8,並拋出一個異常,如果它不是
  • 嘗試檢測在$文本的編碼並在必要時
  • 返回FALSE將其轉換爲UTF-8時,$文字是不是UTF-8
  • 我的API用戶溝通中的文檔是$文本必須是UTF-8
  • 使用json_last_error()檢查錯誤並在遇到錯誤時拋出異常

什麼是最佳實踐?

回答

0

您應該隨時向API的用戶傳達您的期望。

如果您希望使用UTF-8編碼的文本,請在文檔中說明。

,一旦它在那裏,你應該返回一個描述性錯誤,如「無效的編碼,以獲取更多信息,請閱讀文檔:鏈接」,其中的鏈接進入到相關的網頁失敗

這樣的電話,你不再負責任,使用你的API的開發人員將知道發生了什麼問題,你不必擔心你的API。

你是開發者,它是你的API,你的API有自己的規則,如果人們想要使用它,他們需要遵循你設置的規則。