
发表日期: 2021-04-27 09:30:30 浏览次数:94
沛县400电话申请开通【沛县企业网站建设】沛县微信公众号小程序开发运营价格、沛县微信公众号APP软件客户端设计运营、沛县网页页面设计公司费用、沛县公司网站制作方案流程改版维护大概需要多少钱
沛县,简称“沛”,因古有“沛泽”而得名,江苏省徐州市下辖县,位于徐州市西北部,处于苏、鲁两省交界之地,东靠微山湖,西邻丰县,南接铜山区,北接山东省鱼台,处于华北平原的东南边缘和淮海经济区的西北部位。总面积1806平方公里, [1-3] 总人口130万(2016年)。2019年,沛县完成地区生产总值777.96亿元,增长6.0%。 [4]
沛县水脉纵横,是滨湖之城、绿色之都,沛城东距中国北方最大的淡水湖—微山湖不足5公里,拥有62公里湖岸线、400平方公里湖面。 [2]
沛县历史悠久、资源富集,是江苏省和华东地区的煤炭主产地,探明煤储量24亿吨,年产原煤1200万吨,占全省70%。沛县是首批全国文明县城、全国科技进步先进县。荣获全国百强县、全国工业百强县、国家园林县城、国家知识产权强县工程试点县、中国最佳生态旅游县等称号。 [5]
2019年,沛县位居全国县域经济与县域综合发展第32位,综合实力百强县市第65位、全国科技创新百强县市第57位、经济竞争力百强第44位。 [6-7] 2020年7月29日,入选2017-2019周期国家卫生乡镇(县城)命名名单。 [8] 2020年8月,被授予2019年“四好农村路”省级示范县称号。 [9] 2020年12月,入选全国县域经济综合竞争力100强。
另一个值得推荐的工具是PHPMetrics,它也是一个用于分析PHP静态代码质量的工具。PHPMetrics提供了更多细致的度量数据。
PHPMetrics的官网:http://www.phpmetrics.org/
同样,对PhalApi框架的核心代码进行分析,可以得到以下这样的报告数据。
LOC Lines of code 4144 Logical lines of code 2242 Comment lines of code 1907 Average volume 279.35 Average comment weight 34 Average intelligent content 34 Logical lines of code by class 39 Logical lines of code by method 10Object oriented programming Classes 58 Interface 7 Methods 229 Methods by class 3.95 Lack of cohesion of methods 1.23 Average afferent coupling 1.32 Average efferent coupling 1.73 Average instability 0.59Complexity Average Cyclomatic complexity by class 3.94 Average Relative system complexity 15.64 Average Difficulty 6.97Bugs Average bugs by class 0.09 Average defects by class (Kan) 0.43Violations Critical 0 Error 4 Warning 6 Information 0复制代码
PHPMetrics还提供了精美的可视化报告。
图8-8 PhalApi 1.4.1 的PHPMetrics报告局部
而对比早期的PHPMetrics报告,也可以发现PhalApi的静态代码质量虽然稍微变差了一点,但整体上看还是不错的。

图8-9 PhalApi早期的PHPMetrics报告局部
PhalApi框架,本身拥有完善的测试套件。当需要执行这些自动化测试套件时,可进入/path/to/PhalApi/PhalApi/Tests单元测试目录,然后执行以下命令即可运行单元测试:
$ phpunit复制代码
自PhalApi诞生以来,就一直坚持着测试驱动开发的最佳实践,并且将可测试性纳入到框架的核心设计。从早期开始,PhalApi的核心代码单元测试桥北率就高达90%以上。

图8-10 PhalApi早期的测试覆盖率情况
对于一个框架,它所被应用的领域是广泛的。就PhalApi而言,它可能用于开发接口服务,可能用于开发命令行应用,可能用于开发后台计划任务,也有可能是用于执行单元测试。不管何种应用场景,PhalApi都应能支持。这就要求,框架的初始化与调度应该是分离的,在完成初始化工作后不应紧接着强制进行调度。因为不同的场景,调度方式不一样。如果过早地确定调度方式,势必将限制后续其他场景的调度机制的实现。就好比如,在处理接口响应请求时,PhalApi需要返回输出的是JSON格式的HTTP内容,而在命令行模式时则需要输出的是面向终端的文本内容。
另一方面,如果单元测试不能真实环境那样共享同一个初始化过程的话,除了需要重复维护两份初始化过程外,在单元测试时的成功通过很有可能会给开发人员造成一种假象——正式初始化过程也是没问题的。
值得庆幸的是,PhalApi都考虑到了以上两个方面。因此,PhalApi自身的单元测试是容易搭建的,从而推导使用PhalApi进行开发的项目的单元测试体系也是容易搭建的,并且能与正式初始化保持一致性,因为它们是共享的。
除此之外,关于单元测试,PhalApi还有两点也是值得注意的。一个是自动生成测试骨架的脚本命令,另一个是仿真。前者无疑提升了开发的效率,后者则给了开发人员一致的开发体验。这里说的仿真主要是针对接口类的单元测试与真实接口请求之间的效仿。
例如,在真实的情况下,如果需要请求默认接口服务,可以在浏览器中输入地址并访问:
http://dev.phalapi.net/?service=Default.Index&username=dogstar复制代码
注意到,我们在后面还加了一个请求参数&username=dogstar。在单元测试中,也可以类似地,
$url = 'service=Default.Index&username=dogstar';$rs = PhalApi_Helper_TestRunner::go($url);复制代码
可以发现,你可以直接把真实请求的URL作为测试时的模拟请求链接,反之亦然,也可以把测试时的模拟请求链接作为真实的URL使用。这种方式,对开发人员来说是友好的,一致的。
当使用一个开源框架时,我们既希望它能提供强大的功能,但矛盾的是,我们又害怕它强大背后所隐藏的复杂性,从而导致学习成本过高、出现问题时又难以驾驭。 而在这里,在PhalApi这里,这一切都是这么简单,简单地又如此明了。
PhalApi是一个开放式的框架,当它提供的已有的功能无法满足你项目的实际开发需要时,你可通过两种途径来获得项目的扩展和定制能力。一种是单个类粒度的,即DI依赖注入;一种是更大规模的,偏向于包粒度的,即扩展类库。下面分别再来讲解之。
DI依赖注入是PhalApi框架中一个至关重要的概念,理解DI以及其在PhalApi扮演的角色,对于高效使用PhalApi大有禆益。
"当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。"
在鸭子类型中,关注的不是对象的类型本身,而是它是如何使用的。同样,注册在DI容器中的资源服务,关注的不是注册对象的类型本身,而是这些资源服务是如何使用的。例如,回顾缓存在PhalApi中的使用示例:
// 设置DI()->cache->set('thisYear', 2015, 600);// 获取,输出:2015echo DI()->cache->get('thisYear');// 删除DI()->cache->delete('thisYear');复制代码只要注册的DI()->cache对象,具备以上这些操作,它都能很好地正常工作,而不管是它是PhalApi框架内本身的实现类,还是项目定制扩展的自定义类类型,甚至是有着同样实现接口的其他类型。
当然,为了保持一致性和透明性,我们对于公共的资源服务定义了其接口类型,或者抽取了层基类或抽象类。这不仅能复用已有的代码,还能够明确引导开发人员需要实现的接口有哪些。例如,上述缓存的接口定义为:
interface PhalApi_Cache {
/**
* 设置缓存
*
* @param string $key 缓存key
* @param mixed $value 缓存的内容
* @param int $expire 缓存有效时间,单位秒,非时间戳
*/
public function set($key, $value, $expire = 600);
/**
* 读取缓存
*
* @param string $key 缓存key
* @return mixed 失败情况下返回NULL
*/
public function get($key);
/**
* 删除缓存
*
* @param string $key
*/
public function delete($key);}
沛县400电话申请开通【沛县企业网站建设】沛县微信公众号小程序开发运营价格、沛县微信公众号APP软件客户端设计运营、沛县网页页面设计公司费用、沛县公司网站制作方案流程改版维护大概需要多少钱
服务热线
顶部
备案号: 苏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