
发表日期: 2021-04-26 15:25:12 浏览次数:108
泰兴网站制作【泰兴网站优化】泰兴建网站、泰兴微信公众号运营、泰兴网页设计、泰兴微信小程序商城
泰兴市位于江苏省中部、长江下游北岸。北纬31°58′12"~32°23′05",东经119°54′05"~120°21′56",是江苏省泰州市下辖市,是江苏省直管县三个试点之一,享有部分地级市职权。东接如皋市;南接靖江市;西濒长江,与扬中市、常州市新北区隔江相望;北邻泰州市姜堰区,东北与南通市海安市接壤;西北与泰州市高港区毗连。 [1-2]
泰兴置县于南唐升元元年(公元937年),寓意“国泰民安,百业兴旺”,有“教育之乡” [3] 、“银杏之乡” [4] 、“建筑之乡” [5] 、“提琴之乡” [6] 、“减速机之乡” [7] 之称。 [2]
2018年,泰兴市实现地区生产总值1040亿元。一般公共预算收入74.5亿元,增长18.1%,税占比84.1%,总量列全省县市第7位、增幅列第1位。财政管理工作连续两年获得国务院表彰奖励。固定资产投资增长14%,其中产业投资增长13%。实现社会消费品零售总额257亿元,增长7%。城乡居民人均可支配收入增长9.2%。全国县域经济基本竞争力排名前移至第29位。 [8-9]
泰兴属长江三角洲冲积平原,行政区划面积1172平方公里,泰兴东西最大直线距离为47.0千米,南北最大直线距离为43.5千米。2017年末户籍总人口118.56万人,比上年减少0.75万人。年末常住人口107.80万人。 [10] 2018年11月,入选中国工业百强县(市)。 [11] 2018年12月,入选全国县域经济综合竞争力100强、 [12] 投资潜力100强,中国最佳县级城市30强,2019全国营商环境百强县。2020年12月,社科院发布《全国县域经济综合竞争力100强》,泰兴排名第37 [13] 。
PhalApi推荐使用测试驱动开发,因此在WeTime项目开发过程中,我们遵循了TDD这一最佳开发实践。如前面所述,本章中涉及开发的模块有基本的用户模块、辅助的关注模块、核心的日历事件模块。其中,用户模块和关注模块,是相对简单的功能模块,考虑到其实现简单以及篇幅有限,我们这里不对其进行讲解,而侧重讲解核心的日历事件模块的接口服务开发。
日历事件模块目前有三个接口服务待开发,分别是:发布日历事件、查看日历事件列表和操作日历事件。
发布日历事件是指用户发布一个新的事件到社交日历,用技术的表达方式是指为已登录的用户在数据库日历事件表wt_event中添加一条新的纪录数据。查看日历事件列表,是指用户自己或者其他用户可以查看到自己以及所关注/订阅的好友所发布的日历事件。最后,用户可以通过对自己已发布的日历事件进行操作,主要有删除事件、把事件标识为已完成或未完成。
基于这样的需求理解,让我们来创建对应的接口类吧!这里的日历事件接口类为:Api_Event,上面三个接口服务对应的方法分别Api_Event::post(),Api_Event::space()和Api_Event::operate()。即:
// WeTime$ vim ./Fun/Api/Event.php<?php/**
* 日历事件接口类
*/class Api_Event extends PhalApi_Api {
public function post() {
}
public function space() {
}
public function operate() {
}}复制代码至此,我们便有了这三个接口服务的雏形。虽然尚未指定接口所需要的参数,以及返回的结果格式,但也算是在接口类中定义了接口服务的函数签名。
表5-5 日历事件模块的接口服务对照表
接口服务 | service名称 | 对应的类方法 | 完整的访问路径 |
|---|---|---|---|
发布日历事件 | Event.Post | Api_Event::post() | http://api.wetime.com/fun/?service=Event.Post |
查看日历事件列表 | Event.Space | Api_Event::space() | http://api.wetime.com/fun/?service=Event.Space |
操作日历事件 | Event.Operate | Api_Event::operate() | http://api.wetime.com/fun/?service=Event.Operate |
接下来,看下如何在TDD的指导下,出色地完成这些接口服务的功能开发。
创建好基本的日历事件接口类后,便可以使用phalapi-buildtest脚本命令生成测试骨架代码。如这里的:
WeTime$ ./PhalApi/phalapi-buildtest ./Fun/Api/Event.php Api_Event ./Fun/Tests/test_env.php > ./Fun/Tests/Api/Api_Event_Test.php复制代码
生成后,进行相应的require引入调整。调整后,试运行一下单元测试。
$ phpunit ./Fun/Tests/Api/Api_Event_Test.php PHPUnit 4.3.4 by Sebastian Bergmann....Time: 7 ms, Memory: 6.00MbOK (3 tests, 0 assertions)复制代码
让我们先来看下发布日历事件这个接口服务,并在测试用例中为其制作一个Happy Path。也就是说,我们期望顺利地模拟用户成功发布一个日历事件。
但在开始开发日历事件模块前,假设基本的用户模块和辅助的关注模块已开发完成,并假设我们已经有了Aevit和Angle这两位用户,其中Aevit的账号ID为1,而Angle的账号ID为2。
INSERT INTO `wt_user` (`id`, `username`, `nickname`, `password`, `salt`, `regtime`, `avatar`) VALUES ('1', 'Aevit', 'Aevit', '09d58b30f2b967c80ae1094be664ac66', 'c2cb97f6c3', '0', '/images/aevit.jpg');INSERT INTO `wt_user` (`id`, `username`, `nickname`, `password`, `salt`, `regtime`, `avatar`) VALUES ('2', 'Angle', 'Angle', 'a01fb02627c0206ab2d0a928729e9410', 'd41028d9b0', '0', '/images/angle.jpg');复制代码若要成功地发布一个日历事件,则需要提供全部必须的有效数据。以下是模拟Aevit发布事件的测试场景。
// WeTime$ vim ./Fun/Tests/Api/Api_Event_Test.php
public function testPost()
{
// Step 1. 构建
$url = 'service=Event.Post&client=ios&version=1.0.1&user_id=1&sign=9793325c851346a6af041ce5a1e69476';
$params = array(
'title' => '测试事件',
'content' => '这是一个测试事件',
'tousers' => '1',
);

服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878