欢迎光临外链推广平台,一个优秀的外链推广平台,为你解决获客难题!

ThinkPHP5.1.x 框架源码分析 (二) [框架的灵魂] - 自动加载 spl_autoload_register 初识与了解

作者:jcmp      发布时间:2021-05-10      浏览量:0
一、autoload_function这

一、autoload_function

这是一个函数 方法 名称,可以是 字符串 或者 数组 调用类方法使用。这个函数 方法 的功能就是,来把需要 new 的类文件包含 include(require) 进来,这样 的时 new 候就不会找不到文件。其实就是封装整个项目的 include 和 require 功能。 可以理解为当我们 new 一个类,并且这个类文件没有被包含时候就会执行这个 autoload_function 方法。

二、throw

此参数设置了 autoload_function 无法成功注册时, spl_autoload_register() 是否抛出异常。

三、prepend

如果是 true , spl_autoload_register() 会添加函数到队列之首,而不是队列尾部。

如下:先举个错误的栗子,可以看到当我们直接 new 一个未包含 class类 文件时候会报错。

如下:当使用 spl_autoload_register() 后当 new 一个未包含的类时候,会去执行 spl_autoload_register() 第一个参数函数名的函数,这个函数有一个参数就是需要 new 的类名,这个函数的功能就是把这个类给包含进来(类名和文件名一致),这样就实现了自动加载功能。

四、如下:当然我们也可以改成这样

大家加油! 上一章: ThinkPHP5.1.x 框架源码分析 (一) [框架的灵魂] - 类的自动加载初始 下一章: ThinkPHP5.1.x 框架源码分析 (三) [框架的灵魂] - ThinkPHP自动加载Loader深度分析。