加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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客户端都应该处理此错误情况.有关详细信息,请参阅平台手册,或告诉我们有关您的目标移动平台的更多信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读