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

沛县网站推广【沛县办理400电话】沛县SEO优化、沛县微信公众号APP客户端小程序开发、沛县网站托管、沛县APP开发

发表日期: 2021-04-27 09:12:25 浏览次数:93

沛县网站推广【沛县办理400电话】沛县SEO优化、沛县微信公众号APP客户端小程序开发、沛县网站托管、沛县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强。

在后半部分,通过Model层,根据用户名与加密后的密码获取相应的用户ID。

实体类的对象通常是上层Api层的访问入口,在其内部,又会涉及到服务对象与值对象的协同工作。例如上面登录操作中就使用了密码加密服务类Domain_Password。接下来,让我们来了解一下领域业务中的服务。

7.3.2 服务

实体是有状态的,而服务是无状态的。服务是一组通用的功能集合,实例化一个服务对象后,便可以使用它进行重复的操作。如上面所说的密码加密服务类,一旦实例化后,它可以对各种密码进行加密操作,并且前面的加密与后面的加密是无任何联系的。

我们先来看下对于Domain_Password的最终使用,再来看下它内部的实现。实例化Domain_Password类的对象很简单,因为它不需要任何参数,然后便可多次进行密码的加密。例如:

<?php$servicePass = new Domain_Password();// 对密码“123456”进行加密$pass1 = $servicePass->encrypt('123456');// 对密码“i_am_18”进行加密$pass2 = $servicePass->encrypt('i_am_18');// 对密码“who_am_i”进行加密$pass3 = $servicePass->encrypt('who_am_i');复制代码

服务是不依赖于数据存储的,但它通常会依赖于一些公共的基础设施。这些基础设施可以是PhalApi框架的基础模块,也可以是扩展类库,还可以是自己封装的与业务无关的组件。例如这里就使用了加密技术。因此就不难理解此加密服务的实现细节了。

// Forever$ vim ./Demo/Domain/Password.php <?phpclass Domain_Password {
    const CRYPT_KEY = '06633f94d3';
    protected $mcrypt;

    public function __construct() {
        $iv = DI()->config->get('sys.crypt.mcrypt_iv');
        $this->mcrypt = new PhalApi_Crypt_MultiMcrypt($iv);
    }

    public function encrypt($pass) {
        return $this->mcrypt->encrypt($pass, self::CRYPT_KEY);
    }

    public function decrypt($encryptPass) {
        return $this->mcrypt->decrypt($encryptPass, self::CRYPT_KEY);
    }}复制代码

虽然服务不需要持久化数据,但会有各自的配置选项,以满足不同场景下的使用。这也是为什么我们在使用扩展类库时需要进行配置的原因。又例如这里,配置了8位的加密向量sys.crypt.mcrypt_iv,此配置位于./Config/sys.php配置文件中,如下所示:

    /**
     * 加密
     */
    'crypt' => array(
        'mcrypt_iv' => '12345678',      //8位
    ),复制代码

服务可以是与业务有关的,也可以是与业务无关的。上面的密码加密就是与业务有关的,因为它是专门针对密码进行的加解密操作。而PHPMailer邮件扩展则是与业务无关的,因为它可以用来发送任何类型的业务邮件。当然,也可以在业务无关的服务上,再封装业务有关的服务,以便上面应用更快地重用,并且保证业务的一致性。

7.3.3 值对象

在领域业务中,还有一种不可或缺的对象是值对象。尤其在大型系统中,值对象可以说是一种简化设计,减少缺陷的一种有效途径。值对象一个很重要的物质是不可变性,即一旦创建后就不能再修改。所以,在实现值对象时,可以不提供任何setter方法,也不提供任何修改成员属性的方法,只允许在构造函数时进行传参初始化。

值对象可以是基本的数据类型,如整数、布尔值、浮点数,也可以是自定义类类型。关于值对象,鉴于前面已有介绍说明,这里不再赘述。

7.4 Model数据层的规范

最后到了Model数据层,前面已经多次说到,PhalApi框架中的Model层是广义上的数据源层,它的数据不仅仅局限于数据库。特别在大型项目中,其数据来源更为丰富多样,也更为复杂。

小结一下,对于Model层,其数据存储方式可分为以下四大类。

c51c866ffa1ab3457f2021e8bbdbcc1.jpg


沛县网站推广沛县办理400电话】沛县SEO优化、沛县微信公众号APP客户端小程序开发、沛县网站托管、沛县APP开发

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