当前位置: 网站首页>小程序开发>网站优化

泰兴网站优化【泰兴开通400电话】泰兴网站搭建、泰兴微信公众号推文外包、泰兴开通京东拼多多设计、泰兴淘宝装修

发表日期: 2021-04-26 15:29:17 浏览次数:112

泰兴网站优化【泰兴开通400电话】泰兴网站搭建、泰兴微信公众号推文外包、泰兴开通京东拼多多设计、泰兴淘宝装修

泰兴市位于江苏省中部、长江下游北岸。北纬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]  。

回到主题,既然没有Model_Follow这个类,很简单,添加一个便是了。结合2.5.4 CURD基本操作,不能得出根据一定条件获取全部数据纪录的实现代码。

WeTime$ vim ./Fun/Model/Follow.php<?php/**
 * 关注数据模型类
 */class Model_Follow extends PhalApi_Model_NotORM {

    public function getFollowUids($userId) {
        $rows = $this->getORM()
            ->select('touid')
            ->where('uid', $userId)
            ->fetchAll();

        $uids = array();
        foreach ($rows as $row) {
            $uids[] = intval($row['touid']);
        }

        return $uids;
    }}复制代码

在上面代码中,先根据用户ID获取全部关注的用户ID,然后再处理返回的数据库结果集,将每条纪录中的touid提取出来,最后返回给调用方。

在开发过程中,有没发现,每一段代码,都是非常简明扼要的。没有多余的一行代码,基本上每一行代码都在发挥着不可或缺的作用。一行代码也不能少,一行代码也不能多。实现了用户所关注的用户ID列表功能后,我们相当于完成了一个“子程序”的功能开发。在以后需要用到相同的业务数据时,可以重用此“子程序”。可以说,我们取得了阶段性的成果,并产出的是灵活、职责划分明确、优雅而可重用的代码。

分支这条小道,我们就先暂告一段落。再一次,通过单元测试,可以清晰地知道,当前我们所在的处境。

1) PhpUnderControl_ApiEvent_Test::testSpaceFailed asserting that null is greater than 0.复制代码

这里的错误表明,我们还需要继续完成对获取事件列表总数这一功能的实现。前面通过一条小道拿到了用户关注的用户ID列表这份“魔法配料”后,让我们回到最初的出发地——日历事件领域业务类Domain_Event。把当前用户的ID,和所关注的用户ID列表,可以得到全部待获取事件的用户ID。

        $allUids = array_merge($followUids, array($userId));复制代码

有了这些充分的参数后,便不能通过日历事件数据模型类Model_Event从数据库中获取满足条件的总数了。至此,·Domain_Event::getSpaceTotal($userId, $createTime)对应的代码是:

// WeTime$ vim ./Fun/Domain/Event.php
    public function getSpaceTotal($userId, $createTime) {
        $domainFollow = new Domain_Follow();
        $followUids = $domainFollow->getFollowUids($userId);
        $allUids = array_merge($followUids, array($userId));

        $model = new Model_Event();
        return $model->getSpaceTotal($allUids, $createTime);
    }复制代码

随后,执行一下单元测试,并在Model_Event类中实现getSpaceTotal($allUids, $createTime)这一方法。

// WeTime$ vim ./Fun/Model/Event.php <?php/**
 * 日历事件数据模型类
 */class Model_Event extends PhalApi_Model_NotORM {

    public function getSpaceTotal($allUids, $createTime) {
        $total = $this->getORM()
            ->where('uid', $allUids)
            ->where('createtime < ?', $createTime)
            ->where('tousers', '1')
            ->count('id');
        return intval($total);
    }}复制代码

上面代码中,使用了where('tousers', '1'),是因为默认获取的事件列表应该是公开的。为了查看对应的数据库查询语句,可以在单元测试环境下开启调试模式。如这里,开启后,可以看到上面的查询对应的SQL语句是:

SELECT COUNT(id) FROM wt_event WHERE (uid IN (2, 1)) AND (createtime < ?) AND (tousers = '1'); -- '2017-05-29 59:59:59'复制代码

到这里,我们再一次完成了阶段性的成果!如前面所述,获取日历事件列表主要有两组数据,分页数据和列表数据。通过单元测试的验证,第一组数据已经通过测试了。这意味着分页数据已经开发完成了!”革命尚未成功,同志仍需继续努力!“接下来,继续完成第二组数据的开发。

列表数据是通过Domain_Event::getSpaceList($userId, $createTime, $perpage = 20, $page = 1)类方法来提供的,参考前面的实现,不难得出它的实现代码。

// WeTime$ vim ./Fun/Domain/Event.php 
    public function getSpaceList($userId, $createTime, $perpage = 20, $page = 1) {
        $domainFollow = new Domain_Follow();
        $followUids = $domainFollow->getFollowUids($userId);
        $allUids = array_merge($followUids, array($userId));

        $model = new Model_Event();
        return $model->getSpaceList($allUids, $createTime, $perpage, $page);
    }复制代码

有时,参考即暗示着“复制-粘贴式编程”,这样很容易催生重复的代码。例如在上面代码中,前面的参数准备是和获取总数时的准备参数是一样的。但关于如何消除重复代码这一异味,后面在重构环节会处理。为了不扰乱我们开发的思路,暂且“绕过”这个问题,但后面我们一定会回来专门处理它。有代码洁癖的程序员是不会容许任何重复的代码的。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

泰兴网站优化泰兴开通400电话泰兴网站搭建、泰兴微信公众号推文外包、泰兴开通京东拼多多设计、泰兴淘宝装修

400-111-6878
服务热线
顶部

备案号: 苏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