Laravel是怎么实现autoload的?

用了一阵Laravel后发现不多有include和require,以为有点奇怪,思考Laravel是怎么完成文件导入的。php

其实Laravel依旧仍是用include或者require的,只是都写在一个函数里了。api

就像这样:数组

function autoload($path){
	require_once($path);
}

通常每次导入的PHP文件不仅一两个,会有不少,因此要定义一个数组来存储“类和PHP文件的映射关系”,就像这样:composer

$classmap=[
		'DB'=>'api.php',
		'FileSystem'=>'api.php',
		'Session'=>'api.php'
];

而后,对数组进行遍历,不要再写for循环了,用一个优雅的函数就能够解决。函数

array_map("autoload",$classmap);

咱们来看看真正的Laravel是怎么定义这个数组的,映射文件在\vendor\composer的autoload_classmap.php里ui

相关文章
相关标签/搜索