真香,门面使用起来这么简单!

星图妙赏 2020-08-28 09:57:06

框架一直在更新,项目实现也需要跟着一起前进!

前言

俩年前用TP5.0搭了一个后台,一直沿用至今。不是不想换,就因为一个字“懒”。

这次荣幸咔咔需要写一个新项目,但还是一成不变的用之前搭好的框架,写着写着就停了下来。在之前写的项目经过验证的东西,完全可以在优化的。

无论是从结构上还是效率上都在慢慢的减退,新的东西出来肯定是为执行效率,代码风格,框架结构,新的功能。

不要较劲说是为了开发效率就这样了,一直一成不变,打破安逸,坚持前行。

咔咔整理了一个路线图,准备按照这样的路线图进行编写文章,后期发现没有补充到的知识点在进行添加。也期待各位伙伴一起来帮助补充一下。评论区见哦!

一、框架对比5.0和5.1

别在较劲说为什么不使用6.0了哈!

先来聊一下咔咔在项目中体会到的改动,门面的引入,类库别名,模型的增强,注解路由,中间件。

对于咔咔来说这也是最想优化的点,当然5.1对于5.0还有很多的新增功能。就看图吧!

用了俩年的框架,咔咔还是感觉在项目中最实用的两个功能点就是门面和中间件的引入。

接下来咔咔对门面的使用做一个简单的介绍。

二、简单,粗暴认识门面

原理就不去剖析了,后边咔咔会出专门的文章来进行解析,所以看到这里,先来个三连呗!

门面的作用就是让一个类不用在去实例化直接进行静态方式调用。

使用两个框架实现案例对比

TP5.0使用

在引入工具类后还需要进行进行一次实例化,在后边使用的时候都是$this->session去调用SC类里边的方法。

这种方式不是说不行,接下来看看TP5.1的效果

TP5.1使用

引入了SC后,在做一些简单的配置就可以直接静态调用SC里边的方法,这岂不是简单了很多。

虽然说是门面的设置过程相对于TP5.0的直接实例化有点多,但是很实用啊!

接下来看看如何配置TP5.1的门面

这是咔咔现在的项目目录结构,我是在外层定义data命名空间,里边存放钩子,命令行配置,门面类,模型,服务类,服务层,工具类,验证类

首先需要明确一点,SC这个类是一个工具类,那什么是工具类,就是在任何项目中拿过去就可以使用的代码。

接着需要继承门面类

一个项目里边不可能只有一个门面类,有很多我们都可以注册为门面类,方便使用。

所以需要写一个钩子,在钩子里边将需要注册到门面的所有类都注册进去,同时还可以给起别名。

在上图可以看到,使用了Config来加载一个配置文件,那肯定少不了配置文件了。

将我们的SC类文件注册到配置文件中。

还差最后一步,你想到了没,定义了钩子但是没有运行哈!

这时就直接把钩子文件配置到应用初始化时就加载。

直到这里门面就配置完了,后边使用时就直接使用SC:: 来调用方法即可。

坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在诺大互联网中咔咔的文章能带给你一丝丝帮助。

0 阅读:43