注册类文件自动加载器:Laravel通过composer进行依赖管理,并在bootstrap/autoload.php中注册了Composer Auto Loader (PSR-4),应用中类的命名空间将被映射到类文件实际路径,不再需要开发者手动导入各种类文件,而由自动加载器自行导入。因此,Laravel允许你在应用中定义的类可以自由放置在Composer Auto Loader能自动加载的任何目录下,但大多数时候还是建议放置在app目录下或app的某个子目录下。
(相当于告诉laravel除了默认的app路径下,项目中还有什么路径有src)
// composer.json此处注册要自动加载的命名空间,以及其映射的类文件实际路径
// 其中,在扩展包中,要指向类的服务提供者文件(ServiceProvider)
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/",
"Mushi\\Module\\": "mushi/laravel-module/src"
},
// 注册服务提供者和门面
// 必须先注册命名空间
\Mushi\Module\LaravelServiceProvider::class,
'MushiModule' => \Mushi\Module\Facade\MushiModuleConfig::class
// 更新扩展包到项目中(相当于缓存)
artisan vendor:publish