require __DIR__.'/../vendor/autoload.php' 自动加载先加载为什么要加载这么类呀?
index.php 文件中:
require __DIR__.'/../vendor/autoload.php';
ClassLoader.php 文件中
/**
* Loads the given class or interface. * * @param string $class The name of the class
* @return bool|null True if loaded, null otherwise
*/public function loadClass($class)
{
if ($file = $this->findFile($class)) {
includeFile($file);
return true;
}
}
这个做的目的是
在new 一个对象的时候,会调用 loadClass 方法,loadClass 方法会在之前已经加载的文件中查找吗(在 autoload_static.php文件已经加载)吗
autoload_static.php 文件
class ComposerStaticInit9093630b1d1df41a95a88e872dd08364 {}
王八的屁股——龟腚(规定),不用不行
这个类的目的是为了实现自动加载的功能,大意就是我们有一个功能模块实现了自动加载的功能,但是这个类本身是需要你手动加载的
那些文件中并不加载文件,,,只是保留了 类名 到 文件实际路劲的映射,,,当你使用一个未加载过的类时,会进入 spl_autoload_register 这个方法注册的回调中,回调函数中可以拿到这个类的名字,再拿这个名字去前面的映射中,拿到这个类实际的文件路径,再 include 一下这个文件,这个类就加载进来了,,,
@Neilyozの鱼不浪 哈哈 就你秀
@cxlblm 刚刚看完明白了
@largezhou 刚刚看完,明白了一些,就相当于容器上绑定很多东西(配置参数,provider)等等,后面要用直接用就好了
《PHP PSR 标准规范》 看下关于自动加载的几个规则,就是实现这个的
@一只码 谢谢 等看完这个,抽个时间再去看看。
这个使用后删除了 还有效果怎么删除啊