分类 框架 下的文章

PHP主流MVC框架的正确使用方式

做了一年半的PHP,对我这种嫌麻烦,喜欢代码整洁、舒服的码农来说,纠结过的问题很多,可惜认真听我说些的却没有。

公司项目都是TP3.2、laravel5.4+的PHP框架,都是MVC模式,然后大家也不知道怎么这么默契的就按MVC三层架构(我觉得吧,MVC只是框架设计思想,真正用起来,分多少个层级,我觉得还是要思考的),用的飞起,我不知道有没有人和我一样感觉三层架构用的很难受,特别是后期维护的时候,大家把所有逻辑都放在控制器里面,代码看的我想死。

- 阅读剩余部分 -

不定时总结第二期——laravel5.4如何记录实时SQL语句日志(2018)

之前自己开发的一个项目,在线上运行一个多月之后,有些页面异常的慢,讲道理十几万的数据根本不会超过0.5秒的打开时间的,然后我就排查,数据库做了慢查询日志,超过一秒的都会记录,但是记录一条都没有(事实上应该是没记到,不知道运维是不是配置错了),最后还逼我自己记录实时的sql语句才发现问题,搞得我框架的一些什么配置缓存、类映射都白做了,根本不是框架运行的锅。最后原因是有一张表我当时先设置了一个主键,后来因为需求加了一个自增长id,没有把老的主键换成唯一索引,就直接把id设置成主键了,结果形成一个组合主键,导致查询异常慢,因为我查询的时候都是单独用,并没有用到组合主键查询。

- 阅读剩余部分 -

读CI框架源码后感

CI框架是一个轻量级的框架,所以我试着去看了一下它的核心部分的源码,弄清楚了CI一个运行的流程和整体代码的一个设计是什么样的。下面就是我的一些粗浅的理解。

- 阅读剩余部分 -

CI框架钩子hook的使用

最近打脸了,因为很久没更博客了,脸好疼。。。

钩子的使用起源是在刚面试的时候,被面试官指着我基于CI做的demo说用过这个(指着hooks目录)吗?,当时我就懵逼了,只能摇头尴尬苦笑的说了没有。不过事情过去了我并没有把它放过,然后回去看了一下钩子hook。


HOOK是什么?

HOOK(钩子)见名思其意,这东西应该是用来“挂”在哪儿的。没错,hook像事件驱动,hook具体操作就像js里的事件绑定的那个方法函数,而各种click、blur等等就像钩子的挂载点,当你做相应的操作就会触发这个钩子。

- 阅读剩余部分 -

CI框架开发自定义相关使用流程

在框架中使用自定义函数或类是不可避免的,再使用自动加载,就可以一劳永逸了(不是$this->load->XXX,而是加载一次整个应用都能使用的,不需要每个文件加一句)。

CI框架中使用可以自定义函数(写在helpers文件夹下,文件使用下划线命名法且需加上后缀_helper,eg:filename_helper)、可以自定义类(写在libraries文件夹下,文件使用驼峰式命名法,且类名需与文件名一致,内容开头处需要加上defined('BASEPATH') OR exit('No direct script access allowed');,我叫它抬头,后面也是这么叫)、常量有好几种方式,下面我会一一说明。

- 阅读剩余部分 -