![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
文章平均质量分 69
chp_mdd兔崽
这个作者很懒,什么都没留下…
展开
-
nginx 核心100讲学习笔记第一部分
nginx 模块组成: nginx 源码安装:不采用yum安装,因为很多第三方模块都以源码安装。 auto: 存放用于编译的C函数库,以及辅助configure脚本判断有哪些系统资源可以供nginx使用。conf:示例配置目录,方便安装后的配置。configure: 环境侦测脚本;环境检查、依赖文件检...原创 2021-04-06 22:57:19 · 680 阅读 · 0 评论 -
php对接java服务端TCP接口总结
前阵子接触了php对接java服务端TCP接口,这是工作一年以来第一次对接,还是php对接java。使用的是socket。技术点概括:原创 2021-03-25 12:15:03 · 493 阅读 · 0 评论 -
thinkphp5.1 config类和env类源码剖析
此章节带领读者来一起阅读config类和env类,这两个类是tp5.1加载配置的核心类,看懂了这两个类以后,再结合app类初始化部分,tp5.1的配置加载规则将一目了然。 此博客专门介绍这两个类,后续有专门的博客专门介绍tp5.1配置的加载,不过为了更好理解代码,这里也会插入。 config类代码刨析:(一)主要成员属性以及构造方法 config类是由app容器类加载的,app继承了container类,因此读过容器部分的代码就知道,当config实例化的时候,调用__mak...原创 2021-03-22 23:17:20 · 1037 阅读 · 0 评论 -
TP5.1源码容器代码详解
开头语:TP5.1容器是整个框架的核心之一,理解容器代码,会对阅读tp5.1代码有很大帮助,如果容器这一关没有学好,下面的代码会越看越懵逼。要看懂容器这块,首先要有4个知识点储备: ArrayAccess, IteratorAggregate, Countable以及反射。这4块地方可以看手册,这里进行简要说明ArrayAccess:提供将对象当成数组一样使用的能力。继承ArrayAccess需要实现其4个方法,下面将结合代码分析。IteratorAggregate:提供像循环数组一样循环.原创 2021-03-17 23:32:53 · 987 阅读 · 0 评论 -
thinkphp5.1和thinkphp6容器的缺陷
容器实现类的实例自动绑定依靠了反射,但是5.1和6的代码,我认为还是有缺陷。话不多说直接上代码,以下是我单独做测试,将容器源码单独弄出来删除某些分支后的代码,保留了容器最基本的功能: class Container{ private static $instance; //容器实例 public $instances = []; //注册池 //单例模式,以静态的方式调用对象以及其方法 public static function getInst原创 2021-03-15 13:14:59 · 600 阅读 · 2 评论 -
thinkphp 5.1 自动加载总结
主要的执行工作的属性和函数参考上图带说明的部分针对自动加载可以简要分成4个场景:1.加载vendor下面的topthink组件库2.加载自身核心类库3.加载字典类库,这种类库大全保存了所使用到的全部类库,这样加载的时候不用再寻找映射的文件提升性能。4.加载项目根目录的类库,例如extend目录下的类库,你也可以自行再创建自定义目录存放自己的库PS:autoload中别名属性的使用场景是在自身类库加载完成后使用的,这样自动加载不会对别名属性进行加载,节省性能,还有一个好处就是...原创 2021-03-13 20:16:04 · 329 阅读 · 0 评论 -
curl 调试工具 curl_getinfo
curl 正常情况下文件是能够传输成功的,但是也有情况传输不成功,比如nginx的大小设置问题,但是curl 不会报错,只会返回一个false,这时候会显得莫名其妙。其实正常调试只要根据http状态就知道错误原因,但curl是屏蔽了,必须要通过这个工具curl_getinfo,来查看传输的状态。具体查看php 官方手册即可。...原创 2020-09-10 11:25:32 · 404 阅读 · 0 评论