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 {}


《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 11

王八的屁股——龟腚(规定),不用不行

3年前 评论
aab

这个类的目的是为了实现自动加载的功能,大意就是我们有一个功能模块实现了自动加载的功能,但是这个类本身是需要你手动加载的

3年前 评论

那些文件中并不加载文件,,,只是保留了 类名 到 文件实际路劲的映射,,,当你使用一个未加载过的类时,会进入 spl_autoload_register 这个方法注册的回调中,回调函数中可以拿到这个类的名字,再拿这个名字去前面的映射中,拿到这个类实际的文件路径,再 include 一下这个文件,这个类就加载进来了,,,

3年前 评论

@largezhou 刚刚看完,明白了一些,就相当于容器上绑定很多东西(配置参数,provider)等等,后面要用直接用就好了

3年前 评论
largezhou 3年前
郎中航 (作者) (楼主) 3年前

《PHP PSR 标准规范》 看下关于自动加载的几个规则,就是实现这个的

3年前 评论

@一只码 谢谢 等看完这个,抽个时间再去看看。

3年前 评论

这个使用后删除了 还有效果怎么删除啊

9个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!