发布网友 发布时间:2022-04-06 03:47
共2个回答
懂视网 时间:2022-04-06 08:08
框架一直在更新,项目实现也需要跟着一起前进! 俩年前用TP5.0搭了一个后台,一直沿用至今。不是不想换,就因为一个字“懒”。 这次荣幸咔咔需要写一个新项目,但还是一成不变的用之前搭好的框架,写着写着就停了下来。在之前写的项目经过验证的东西,完全可以在优化的。 无论是从结构上还是效率上都在慢慢的减退,新的东西出来肯定是为执行效率,代码风格,框架结构,新的功能。 不要较劲说是为了开发效率就这样了,一直一成不变,打破安逸,坚持前行。 咔咔整理了一个路线图,准备按照这样的路线图进行编写文章,后期发现没有补充到的知识点在进行添加。也期待各位伙伴一起来帮助补充一下。评论区见哦! 别在较劲说为什么不使用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:: 来调用方法即可。 坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在诺大互联网中咔咔的文章能带给你一丝丝帮助。我们下期在见。前言
一、框架对比5.0和5.1
二、简单,粗暴认识门面
热心网友 时间:2022-04-06 05:16
TP的查询语法是支持跨数据库的,如果原生的话,可能就不能跨数据库支持了,另外一个就是在安全过滤这块需要自己把关了,优势是性能上省去了SQL组装的开销。
TP:ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。
原生sql:数据库能直接执行的sql语句,比如能在oracle,mssql,mysql,db2等数据库中直接执行
非原生sql:一般指根据指定的程序规则,自动生成的sql,比如最经典的,linq to sql