我不需要编写使用composer-php的软件包的帮助。我只是想了解composer-php的代码。
我关注的是类名中的随机字符串,例如ComposerAutoloaderInit6747b392e558bd54c2f1031b944d5730
中的autoload.php
。
此随机字符串可以实现什么?我怀疑目标是确保类名唯一,但是为什么呢?唯一的类名称解决了哪些问题?
答案 0 :(得分:1)
在PHP中,不能有两个具有相同FQN(完全限定名称)的不同类。但是您可以有多个自动加载器。拥有唯一的名称可确保您可以由Composer生成多个独立的自动加载器,而不会出现名称冲突的风险。
这不是您可能想到的那种罕见情况。通常,您在项目中只有一个自动加载器,但是在没有本机Composer支持的生态系统中(如WordPress-插件经常捆绑Composer的自动加载器作为其代码的一部分)或打包在phar归档文件中的工具(如phpunit),您可能会生成两个单独的自动加载器作曲家。唯一的名称确保它们可以彼此共存。
顺便说一句:此后缀可通过autoloader-suffix
设置进行配置。