php – 实现移动应用程序Web服务的标准方法
发布时间:2020-12-13 17:00:07 所属栏目:PHP教程 来源:网络整理
导读:我是一名 PHP开发人员,需要为移动应用程序开发人员实现Web服务,以共享帖子,喜欢等数据. 实施此类Web服务的最佳方式是什么?这样的东西有标准吗? 目前我输出带有消息,内容等的JSON. 我的app开发人员的主要问题是关于错误消息.我建议返回一个包含错误代码和消
我是一名
PHP开发人员,需要为移动应用程序开发人员实现Web服务,以共享帖子,喜欢等数据.
实施此类Web服务的最佳方式是什么?这样的东西有标准吗? 目前我输出带有消息,内容等的JSON. 我的app开发人员的主要问题是关于错误消息.我建议返回一个包含错误代码和消息的数组来显示: $result = array( 'status' => false,// because registration failed // if registration succeed then would be true 'errors' => array( array( 'code' => '1','message' => 'Password is not strong enough!',),array( 'code' => '2','message' => 'Password and password confirmation do not match!',array( 'code' => '3','message' => 'This email address has been used!',); 但他们建议将所有错误消息作为字符串返回,并且他们只使用status参数,如果它是false则会显示消息,如下所示: $result = array( 'status' => false,'message' => 'Password is not strong enough!' . PHP_EOL . 'Password and password confirmation do not match!' . PHP_EOL . 'This email address has been used!',); 提前致谢 解决方法
Dozens of web-services protocols exist,最着名的一个是(IMO)SOAP.
Some of them本身由PHP支持,其中大多数都有可用的开源实现,所有这些都可能对简单的需求有些过分.
对于基本的错误处理机制,简单的5xx HTTP status code就足够了: <?php define('HTTP_CUSTOM_ERROR_CODE',599); define('HTTP_CUSTOM_ERROR_REASON','Something wrong is going on'); if( somethingWrong() ) { header( sprintf('%s %s %s',$_SERVER['SERVER_PROTOCOL'],HTTP_CUSTOM_ERROR_CODE,HTTP_CUSTOM_ERROR_REASON ),true,HTTP_CUSTOM_ERROR_CODE ); // sends HTTP header "HTTP/1.1 599 Something wrong is going on" echo $errorMessage; // or echo json_encode( $structuredErrorData ); die(); } else { echo json_encode( $response ); } 根据HTTP协议规范,任何HTTP客户端都应该处理此错误情况.有关详细信息,请参阅平台手册,或告诉我们有关您的目标移动平台的更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |