PHP
微末凡尘@
一个在互联网苟且偷生的程序员,喜欢分享,记录成长
展开
-
深入理解Laravel框架Composer自动加载机制
前言 自动加载文件是一个框架的核心,在很久之前没有引入 composer 包管理之前,引入代码文件都是直接通过 require 和 include 的方式,在项目很小的时候,问题不是很大,但是对于一个庞大的项目来说,这种引入方式,使得代码结构混乱不堪,难以维护,基于Psr规范的 composer 很好的解决了这个问题,下面基于 Laravel 框架的源码分析 Composer 自动加载的原理。 Composer 源码分析 启动 define('LARAVEL_START', microtime(true))原创 2020-09-22 15:52:22 · 1037 阅读 · 0 评论 -
PHP中ArrayAccess用法小结
概述 在学习 laravel 框架或者其他的框架的源码中,你会经常看到 ArrayAccess 的身影,那它到底有什么用处呢?其实实现这个类可以让我们以调用数组的方式来调用对象的属性,十分的方便,如果你不理解这个类的用法,那你就很难理解 laravel 框架中门面模式的实现。 详解 请看下面的这段代码,Foo 类实现了 ArrayAccess 接口中的四个方法,请仔细看看这些方法的内部实现代码,你可能会会问,这些代码有什么用?如果问,那就是没用,随便怎么写,按照自己的需求来,接口中这四个方法的内部实现其实和原创 2020-09-18 15:28:40 · 118 阅读 · 0 评论 -
Nginx和PHP-FPM通信机制小结
CGI协议与FastCGI协议 每种动态语言(PHP,Python等)的代码文件需要通过对应的解析器才能被服务器识别,而 CGI(Common Gateway Interface) 通用网关接口协议就是用来使解释器和服务器可以互相通信。PHP文件在服务器上的解析需要用到PHP解析器,再加上对应的 CGI 协议,从而可以使服务器可以解析PHP文件。 由于CGI的机制是每次处理一个请求,fork一个进程,等请求处理完成后,再去 kill 这个进程,在实际应用中比较浪费资源,于是就出现了 CGI 的改良版本 Fa原创 2020-09-08 12:18:27 · 190 阅读 · 0 评论 -
深入了解Laravel框架之容器技术
一、前言 在 laravel 框架中,如果问什么是设计最巧妙也是最需要掌握的内容,毫无疑问的就是服务容器。laravel 框架之所以能够具备低耦合、易扩展和可重用的优秀特性,也正是因为有了容器。如果将整个 laravel 框架比喻成一个人,那么服务容器就是相当于人的大脑,其重要性不言而喻。 下文就对 laravel 框架中的容器相关源代码进行解析,原文较长,但是我相信看完必然会有所收获。 二、源码解析 在 laravel 框架中,服务容器是通过 Illuminate\Container\Container原创 2020-08-29 16:00:02 · 542 阅读 · 0 评论