2017-06-28 89 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有自己的规则,如果人们想要使用它,他们需要遵循你设置的规则。