前言使用框架的伙伴应该都知道在5.1时框架新增了一个特性那就是本文将编写的门面,也就是facade这个特性。使用过这个特性的都明白其中的好处,那就是方法调用可以直接静态进行调用,不用再使用关键字static来定义。接下来咔咔将会从以下几个方面带着大家探索属于门面的故事。一、简单认识一下在框架中的门面的好处在之前有写过配置文件加载一文,在那一文中的最后提到过配置信息获取的几种方式。其中有一种方式就是
转载 2020-11-09 09:53:00
112阅读
2评论
本文主要描述了门面的使用和实现过程以及源码的深度解析。框架门面解析前言一、简单认识一下在框架中的门面的好处二、学习框架中facade的使用三、优化在框架中facade的使用四、门面类源码解析五、static关键字六、总结前言使用框架的伙伴应该都知道在5.1时框架新增了一个特性那就是本文将编写的门面,也就是facade这个特性。
原创 2021-10-08 17:17:10
187阅读
路由是项目开发中比较重要的一个环节,每个项目都会使用路由进行管理接口,接下来本文会从源码方面带大家一起学习路由。前言由于文章篇幅的原因,执行在新开一篇文章进行写。在上一篇中给大家讲解了以下内容。路由初识化简单分析通过定义路由再谈门面路由定义rule方法中的$this->group到底执行了什么路由规则预处理解析生成路由标识的快捷访问但是在路由这块还有很多的内容要来讲解,接下来就会针对以下内容
转载 2021-01-21 17:41:28
341阅读
2评论
缓存在项目的运行了一段时间都会使用的一个功能,本文将会对框架中的缓存做一个深度的解析前言在项目中缓存是必不可少的一项功能,当用户量大的时候是必须上缓存的,如何都直接查数据库那么对于用户体验来说就太差了。那么什么情况下应该使用缓存呢!热点事件,例如微博热搜不经
原创 2021-01-21 10:53:01
379阅读
路由是项目开发中比较重要的一个环节,每个项目都会使用路由进行管理接口,接下来本文会从源码方面带大家一起学习路由。框架路由解析前言一、路由参数和变量规则前言由于文章篇幅的原因,执行在新开一篇文章进行写。在上一篇中给大家讲解了以下内容。路由初识化简单分析通过定义路由再谈门面
原创 2020-12-29 11:45:40
154阅读
源码解析ThinkPHP.php//LIHUAN:后面的内容为本人添加的注释,其他注释为原有内容,如有不当之处,欢迎批评指正
原创 2014-02-07 17:29:45
574阅读
本文接着上文继续来解读路由源码,如果你看到本文可以先看一下之前写的路由文章,共计俩篇。前言经过前俩篇路由源码的解读,相信大家对路由已经有了一定了了解了。本文会接着ThinkPHP路由源码解析(二)继续讲解,也是路由这块内容的收尾了。关于路由,咔咔感觉是整个框架中源码阅读最吃力的一个核心点,也耗费了很多时间。因为在其中有很多类的嵌套,何不按照常理出牌,例如$this->group的这个点。虽然
转载 2021-01-21 17:41:10
914阅读
2评论
 前言在这之前已经剖析过了类的自动加载、配置文件加载的源码解析,本文为第三期的文章,主要针对容器以及门面类的实现,解析源码。以及学习实现此功能的一些知识点。第一期文章:     ThinkPHP自动加载Loader源码分析    第二期文章:     ThinkPHP配置文件源码分析     一、单例模式在学习容器以及门面之前需要必须了解的俩个设计模式,单例模式、注册树模式。先对单
转载 2021-06-07 17:16:51
369阅读
2评论
ThinkPHP 5.1 修改 Cache 源码 导语 最近在学习 THinkPHP 5.1,看了 Cache 方法的操作,有一点疑惑。虽然封装了很多方法,使用的时候很方便,但是对 Redis 的高级操作好像不是很友好,出于学习的目的,对源码进行了一点小修改。首先声明两点:一是此次的修改,只是个人观点,不适于所有人;二是此次修改仅为学习所用,各位谨慎修改源码。 问题 在练习 Redis 的时候,发
转载 2021-08-19 17:20:45
464阅读
defined('THINK_PATH') or define('THINK_PATH',__DIR__.'/');如果常量未定义,那么定义该常量magic_quotes_runtime系统自动添加反斜线转义字符define('IS_CGI',(0 === strpos(PHP_SAPI,'cgi')  || false !==
原创 2017-07-17 17:12:25
1134阅读
本文接着上文继续来解读路由源码,如果你看到本文可以先看一下之前写的路由文章,共计俩篇。ThinkPHP路由源码解析前言一、检测路由-合并分组参数、检查分组路由二、检测URL变量和规则路由是否匹配前言经过前俩篇路由源码的解读,相信大家对路由已经有了一定了了解了。本文会接着ThinkPHP路由源码
原创 2020-12-29 11:46:08
254阅读
路由是项目开发中比较重要的一个环节,每个项目都会使用路由进行管理接口,接下来本文会从源码方面带大家一起学习路由。框架路由解析前言一、路由初识化简单分析二、路由定义前言使用框架写过项目的肯定都使用过路由,使用路由来进行接口的管理,那么为什么要使用路由呢!使用路由会保护项目的真实请求路径。使请求地址更加
原创 2020-11-12 10:28:44
217阅读
本文主要针对框架内部容器以及门面的实现做为基准点来实现,前言在这之前已经剖析过了类的自动加载、配置文件加载的源码解析,本文为第三期的文章,主要针对容器以及门面类的实现,解析源码。以及学习实现此功能的一些知识点。第一期文章:ThinkPHP自动加载Loader源码分析第二期文章:ThinkPHP
原创 2020-10-15 16:23:36
184阅读
简介:thinkphp6.0框架开发,进出登记管理系统源码,功能齐全,当然也可以应用各种场景。功能包括老师和学生角色权限,大数据图表展示,扫码进出校园,校园行程记录,生成,学生管理,管理,学生签到打卡等功能等等。运行环境:thinkphp6.0mysql5.7bootstrap4本地测试集成环境软件:phpstudy搭建教程:可参考thinkphp项目搭建添根目录/public添静态<IfM
原创 2021-12-09 17:14:47
241阅读
thinkphp源码无差别阅读(一)thinkphp的framework源码大概165个文件,我们不按照逻辑分析阅读源码,我们一个文件一个文件阅读,阅读完以后有个大概了解,然后在运行逻辑下进行阅读framework阅读App.php阅读常量:VERSION-定义框架版本号属性:$appDebug、envName、beginTime、beginRem、namespace、rootPath、think
原创 2021-12-18 13:59:27
275阅读
想了很久终于要开始系列文章的编写了,期望是写出提升和面试都可以搞定的系列文章。当你看到本文时,如果你发现咔咔没有编写到的面试热点问题或者技术难点,期待评论区指出,一起完善。前言目前整理的路线图,如有好的建议咔咔会第一时间进行收录。此导图还没有完成,有的模块需要收集资料,会在更新文章的同时进行更新导图。一、自动加载loader源码分析...
原创 2020-09-16 10:45:13
100阅读
ThinkPHP8核心源码分析
原创 7月前
77阅读
本文主要介绍框架的执行流程前言如果不清楚框架是怎么执行的,那么看在多的代码都是只是认识代码而已,阅读源码是为了学习其框架的设计思想和代码模式。而执行流程则是将我们学习的东西串联在一起,从而更好地理解。咔咔也会给大家把执行流程用思维导图的方式画出来。只要大家在本文学习到一点点的知识点,咔咔也是心满意足的。这个流程图只是针对initialize的执行过程,其余的执行过程后期会进行补充,都是以脑图的形式
转载 2021-06-07 17:15:00
385阅读
2评论
❝  想了很久终于要开始系列文章的编写了,期望是写出提升和面试都可以搞定的系列文章。当你看到本文时,如果你发现咔咔没有编写到的面试热点问题或者技术难点,期待评论区指出,一起完善。❞   前言目前在整理PHP进阶路线图,如有好的建议咔咔会第一时间进行收录。 一、自动加载loader源码分析 1-1 学习目标类的自动加载类自动加载的俩种方式spl_autoload_register必须会使用实
转载 2021-06-07 17:18:35
164阅读
2评论
 参考视频教程:   PHP开发晋升课程BAT资深工程师解析Tp5+Tp6底层源码 (http://www.notescloud.top/goods/detail/1376)<br/❝想了很久终于要开始系列文章的编写了,期望是写出提升和面试都可以搞定的系列文章。当你看到本文时,如果你发现咔咔没有编写到的面试热点问题或者技术难点,期待评论区指出,一起
it
转载 2021-10-17 17:30:06
492阅读
17点赞
1评论
  • 1
  • 2
  • 3
  • 4
  • 5