关于作曲家文件中的依赖关系,例如,如果我使用classmap
来包含文件,我会注意到生成的自动加载文件,例如:
$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);
return array(
'BBCode' => $vendorDir . '/cyphix333/nbbc/nbbc.php',
'BBCodeEmailAddressValidator' => $vendorDir . '/cyphix333/nbbc/nbbc.php',
'BBCodeLexer' => $vendorDir . '/cyphix333/nbbc/nbbc.php',
'BBCodeLibrary' => $vendorDir . '/cyphix333/nbbc/nbbc.php',
);
现在,从我所知道的,它指向可以找到所有需要的类的地方;但是如果文件中还包含其他代码,例如CONSTANTS
,那么它下面的类依赖于它?
是否丢弃了非类代码或它是如何工作的?
答案 0 :(得分:2)
是否丢弃了非类代码或它是如何工作的?
不,它没有丢弃。 你看到的是生成的自动加载的类图。 它是一个文件映射类。类名是从文件中提取的。 如果文件包含多个类,则提取这些类并指向同一文件。这样做是为了允许个人使用这些类。
如果您使用autoload.files
指令,则Composer将在每个请求中包含这些文件。它们总是被装载。
定义的顺序决定了什么是第一个。因此,如果您的代码具有引导代码,例如常量,它会影响代码和"文件"在引导程序之后,然后将它放在文件部分的顶部。
使用autoload.classmap
指令进行真正的自动加载(使用classname时,加载文件)会更好。试试这个:
"autoload": {
"classmap": ["nbbc.php", "src/"]
}