当前位置: 网站首页>小程序开发>小程序制作

沛县申请400电话费用【沛县企业全国热线电话办理】沛县开通400电话电信价格、沛县微信公众号代运营外包托管、沛县网店编辑装修美工、沛县网站推广优化大概需要多少钱

发表日期: 2021-04-27 09:31:28 浏览次数:97

沛县申请400电话费用【沛县企业全国热线电话办理】沛县开通400电话电信价格、沛县微信公众号代运营外包托管、沛县网店编辑装修美工、沛县网站推广优化大概需要多少钱


沛县,简称“沛”,因古有“沛泽”而得名,江苏省徐州市下辖县,位于徐州市西北部,处于苏、鲁两省交界之地,东靠微山湖,西邻丰县,南接铜山区,北接山东省鱼台,处于华北平原的东南边缘和淮海经济区的西北部位。总面积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强。

当需要自己的缓存机制时,可实现此PhalApi_Cache缓存接口即可。实现后且重新注册DI()->cache资源服务后,PhalApi不会再进行类型的检测的。因为PhalApi提倡的是约定编程。即我们约定DI()->cache资源服务应该实现了PhalApi_Cache接口,或者至少是此鸭子类型,而不做过多的检测和限制。这样,不仅提升了框架的性能(不用每次都校验资源服务的类型),又减少了框架的复杂度(省略了异常处理的机制)。

打个比方,在农村,每逢过年过节,村民都会虔诚地去宗庙进行祈福礼拜。相邻的村庄,有很多不同的村民,即使在同一村庄内又会有自自的宗庙。宗庙是开放式的,但很少、甚至从来没有村民会去非自己的宗庙进行礼拜。这就是一种俗成的约定。而在城市里,连出入同一座大厦,每个人每天频繁地进出都要打一次卡,以证明你是属于这里的,有着被肯定的身份。哪怕你和保安都有打照面,但如果哪天你没有带上允许你出入的门卡时,保安还是会按流程将你“拒于门外”的。同样,PhalApi是一个开放式的框架,它不会做过多地强制,而是倾向一种约定俗成的风范,从而把更大的自由留给开发人员。因为它相信开发人员。

惯例优于配置,配置优于实现

Ruby是一门优秀的编程语言,而且也处处体现了惯例优于配置的理念。可以通过简单的示例代码来体会这一约定。

如普通的操作:

def say_hello(name)
    # 先打声招呼
    puts "hello #{name}"end复制代码

返回布尔类型的操作,方法名后面需要有个问号。

def more_money?()
    # 假设有点钱
    return trueend复制代码

一些危险的、可能会抛出异常的操作,方法名后面需要有个叹号。

def borrow_me!(money)
    #  假设钱不够
    raise "Not enough momey!"end复制代码

为了串联进来,假设有这么一个用户故事:你好某某人,有钱吗?借一点给我! 则对应的代码片段是:

say_hello '某某人'borrow_me! 100 if more_money?复制代码

那么运行的效果类似如下:

hello 某某人./test.rb:13:in `borrow_me!': Not enough momey! (RuntimeError)复制代码

可以说,拥有惯例的开发团队,会有更高效的合作以及更为畅快的沟通。因为大家都能快速明白简明代码所体现的意图和目的,不存在混淆和错乱。如果缺少开发语言的特性支持,或者所在的开发团队缺少约定编程的氛围,可以退而求其次,采用配置优于实现的做法。

小结

当需要定制专属的缓存实现时,按前面的说明,可先实现在规约视角约定的接口PhalApi_Cache,如:

class MyCache_File implements PhalApi_Cache {
    public function set($key, $value, $expire = 600) {
        //...
    }

    public function get($key) {
        //...
    }

    public function delete($key) {
        //...
    }}复制代码

随后,实现自己的功能后,只需要简单地在入口文件重新注册即可。如:

DI()->cache = new MyCache_File();复制代码

最后,另人兴奋的是,原来全部的调用代码都不需要改动,即可享受后期调整升级后的新功能!完全避免了曾经那种“牵一发而动全身”的痛苦。定制开发出来的实现类,还可以跨越业务在其他项目中共用。这不正是我们常常所说的代码重用吗?而如今,我们很优雅地做到了。

然而,我们在实际开发中收获到的远远不是代码重用这么简单,而是一种更好的开发实践。因为通过DI使得创建和使用分离,所以我们可以让高级的开发同学实现服务功能的开发,然后再提供给普通的开发同学使用,新手亦然,因为对他们来说:会用就行。当然,对于高级的同学,还应该遵循开发的最佳实践,坚持单元测试,以保证我们提供了可靠的接口(广义上的接口,非HTTP请求的接口)给我们的“客户端”使用。

作为一个框架,我们应当以发散的方式去设计;但为了能为应用提供可用的功能,我们又应当以收敛的方式去实现。如果框架提供的功能不足以满足大部分主流的业务场景,那么至少需要提供可扩展的空间。

正是出于这样的考虑,我们虔诚地引入了DI依赖注入。

8.5.2 可重用的扩展类库

当重要的粒度更大,不再仅仅是某单个类时,我们则需要以包的形式来提供。将一系列的功能操作封装成包,或者用PhalApi的话说,封装成一个可重用的扩展类库。PhalApi扩展类库也有其约定。下面简单回顾一下。

扩展类库的使用规范

当使用一个新的扩展类库时,对于项目开发人员来说,通过需要三步曲:安装、配置注册、使用。

  • 安装 即安装扩展类库的源代码,可直接下载对应的源代码,并放置在项目的Library目录下。

  • 配置注册 进行适当的扩展类库的配置,如果需要,在DI容器中注册此扩展类库。

  • 使用 根据扩展类库的操作说明,在项目中进行使用。

这些扩展类库都是直接可集成到PhalApi项目里,然后直接使用的。它们通常是特定业务无关的,更多是可重用的基础设施,负责某一技术的实现,例如邮件发送、自定义路由、Excel操作等。又或者是某一独立可重用的基础业务功能,如用户模块。重用已有的扩展类库,或者将一组可重用的功能封装成扩展类库,对于提升开发产品簇项目的速度非常有帮助。有人曾经评价说,扩展类库是PhalApi又一重要而明智的决策。

扩展类库的开发规范

开发扩展类库的职责,不局限于PhalApi开源团队,也不局限于开源社区的广大的开发贡献者,而是把这种权利赋予给了每一位开发人员。因此,为了统一扩展类库的风格、便于用户更容易使用,这里建议:

  • 代码 统一放置在Library目录下,一个扩展包一个目录,尽量以Lite.php文件为入口类,遵循PEAR包命名规范。

  • 配置 统一放置在DI()->config->get('app.扩展包名')中,避免配置冲突。

  • 文档 统一提供对扩展类库的功能、安装和配置、使用示例以及运行效果进行说明的文档。

代码、配置和文档都是扩展类库中不可或缺的重要元素,这与前面的三步曲也是一一对应的。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg

沛县申请400电话费用沛县企业全国热线电话办理沛县开通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