官方服务微信:dat818 购买与出租对接

如皋企业微信公众号、网页设计、网站开发及推广相关价格与详细报价明细信息

2万

主题

2

回帖

8万

积分

管理员

积分
86836
发表于 2025-4-14 22:16:48 | 显示全部楼层 |阅读模式
    如皋有企业微信公众号小程序开发公司;如皋有企业网页设计方案;如皋有做网站开发的价格;如皋有微信公众号制作运营的报价明细表;如皋有网站设计公司的费用;如皋进行网站推广大概需要的钱数。

    如皋市,被简称为“如”或“皋”。它是江苏省辖的县级市,由南通市代管,属于江苏省的历史文化名城。此地地处长江三角洲北翼,处在南通、泰州、苏州三市的交界之处。南边与张家港市隔江相对,北边与海安市相连,东边与如东县相接,东南边与南通市通州区相邻,西边与泰兴市接壤,西南边与靖江市相接。全市的总面积为 1477 平方公里(不包含长江水面),长江水面的面积是 99 平方千米。如皋的长江岸线总长度为 48 千米,其中能够直接加以利用的长江深水岸线达到了 18.6 千米。

    如皋市被国际自然医学会评定为世界六大长寿乡之一。如皋市的户籍人口约为 142 万。在 2021 年 1 月 1 日这个时间点,全市 80 周岁以上的高龄老人有 68031 人,90 周岁以上的高龄老人有 10150 人,百岁老人达到 525 位,其中 105 岁以上的有 16 位。

    2019 年 10 月 8 日,如皋被评为 2019 全国营商环境百强县。2020 年 12 月,社科院发布了《全国县域经济综合竞争力 100 强》。其中,如皋的排名是第 31 位。

    接口服务的定义

    在实际项目开发期间,我们编写的大部分接口都是供其他开发工程师使用的,像客户端开发人员、前端开发人员以及其他后端系统开发人员等。为提升并行开发的速度,我们不能等接口服务开发完毕后才给出相应接口文档,而要尽早提供详细说明了接口服务定义的接口文档。

    所以,开发人员在使用接口服务时,时常会询问:什么时候能够提供接口文档?

    我们提倡“接口先行”。这意味着接口服务应当在使用方使用之前就完成开发并且通过自测。然而,在多任务、多项目并行的情况下,往往很难百分之百做到这一点。因为多变的需求会促使形成多变的情境。在这种时候,我们可以快速提供接口服务的定义。

    接口服务的定义包含声明接口服务的函数签名,以及对接口服务的功能、接口参数和返回结果进行相应说明。在设计模式里,有一个很重要的原则,即“针对接口编程,而非针对实现编程”。我们所定义的接口服务,很好地体现了这一原则。从关注客户端业务场景需求的视角开始,在规约层面明确接口服务的功能,以及与之相关的签名、参数和返回结果,同时不深入展开对实现细节的探讨。

    在中定义一个接口服务,具体过程为:

    以下以在 Shop 商城项目里添加获取商品快照信息服务作为例子来进行讲解。

    假设此获取商品快照信息的服务名称为“Goods”。首先,在 Shop 项目的 Api 层创建一个新的类文件。接着,在这个新类文件中添加一个继承自的接口服务类。之后,再添加一个成员函数::()。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="代码无行号 prettyprint prettyprinted" style="box-sizing: border-box; overflow: auto; font-family: Courier, "Courier New", monospace; font-size: 0.9em; padding: 10px 10px 10px 30px; margin-top: 0px; margin-bottom: 1.1em; line-height: 1.42857; color: rgb(51, 51, 51); word-break: break-all; overflow-wrap: break-word; border: 0px; border-radius: 4px; position: relative;">//$ vim ./Shop/Api/Goods.php<?phpclass Api_Goods extends PhalApi_Api {
公共函数 snapshot() 。
    }}复制代码</pre></p>
    接口服务的功能能够在成员函数的标准文档注释里进行说明,同时还可以通过@desc 注解来进行详细的说明。具体如下:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="代码无行号 prettyprint prettyprinted" style="box-sizing: border-box; overflow: auto; font-family: Courier, "Courier New", monospace; font-size: 0.9em; padding: 10px 10px 10px 30px; margin-top: 0px; margin-bottom: 1.1em; line-height: 1.42857; color: rgb(51, 51, 51); word-break: break-all; overflow-wrap: break-word; border: 0px; border-radius: 4px; position: relative;">    /**
     * 获取商品快照信息
     * @desc 获取商品基本和常用的信息
     */
    public function snapshot() {
    }复制代码</pre></p>
    参数规则的配置,就是前面提到的接口参数规则配置,需要在::()成员函数里进行配置。假设这里仅需一个商品 ID 的参数。

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="代码无行号 prettyprint prettyprinted" style="box-sizing: border-box; overflow: auto; font-family: Courier, "Courier New", monospace; font-size: 0.9em; padding: 10px 10px 10px 30px; margin-top: 0px; margin-bottom: 1.1em; line-height: 1.42857; color: rgb(51, 51, 51); word-break: break-all; overflow-wrap: break-word; border: 0px; border-radius: 4px; position: relative;">公共函数 getRules() 。
        return array(
'snapshot' 被转换为数组形式。
'desc'为'商品ID'。
            ),
        );
    }复制代码</pre></p>
    首先,要对接口返回的结果结构及字段进行说明。其次,这部分说明是在成员函数的标准文档注释中进行的。最后,要遵循@注解的格式。假设此快照服务返回的结构格式和字段为:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="代码无行号 prettyprint prettyprinted" style="box-sizing: border-box; overflow: auto; font-family: Courier, "Courier New", monospace; font-size: 0.9em; padding: 10px 10px 10px 30px; margin-top: 0px; margin-bottom: 1.1em; line-height: 1.42857; color: rgb(51, 51, 51); word-break: break-all; overflow-wrap: break-word; border: 0px; border-radius: 4px; position: relative;">    /**
     * 获取商品快照信息
返回一个整数类型的商品 ID 。
返回的是字符串类型的 goods_name,这里的 goods_name 指的是商品名称。
返回值为整数,该整数表示商品价格。
返回的是字符串形式的商品图片。
     */
    public function snapshot() {
    }复制代码</pre></p>
    至此,我们完成了获取商品快照信息服务的初步形态,也就是完成了对该接口服务的定义。我们可以简单地尝试进行一次请求:

<p style='margin-bottom:15px;color:#555555;font-size:15px;line-height:200%;text-indent:2em;'>    <pre class="代码无行号 prettyprint prettyprinted" style="box-sizing: border-box; overflow: auto; font-family: Courier, "Courier New", monospace; font-size: 0.9em; padding: 10px 10px 10px 30px; margin-top: 0px; margin-bottom: 1.1em; line-height: 1.42857; color: rgb(51, 51, 51); word-break: break-all; overflow-wrap: break-word; border: 0px; border-radius: 4px; position: relative;">使用 curl 发送请求到 "http://api.phalapi.net/shop/?service=Goods.Snapshot&id=1",返回的结果是 {"ret":200,"data":null,"msg":""}</pre></p>
    可以看到上面所定义的接口服务是能够进行访问的。由于尚未进行具体的实现,所以当下暂时不会有业务数据返回。

    我们是否要把这个接口服务链接提供给使用方呢?答案是要提供,但不是全部。我们最终要提供给使用方的是在线接口服务说明文档。需要注意的是,在完成上述 4 个步骤之后,我们将会看到一份既酷又实用,并且是自动实时生成的在线接口服务说明文档。

    如皋企业微信公众号小程序开发公司、如皋企业网页设计方案、如皋做网站开发价格、如皋微信公众号制作运营报价明细表、如皋网站设计公司费用、如皋网站推广大概需要多少钱

更多帖子推荐

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|关于我们

Copyright © 2001-2025, Tencent Cloud.    Powered by Discuz! X3.5    京ICP备20013102号-30

违法和不良信息举报电话:86-13718795856 举报邮箱:hwtx2020@163.com

GMT+8, 2025-4-23 12:18 , Processed in 0.096173 second(s), 17 queries .