问题复现:
我们如果创建了一个与默认项目目录app同级的模块,可能会导致框架的注解无效。
目录结构如下:
解决方案:
第一步,需要调整一下composer.json,以便解决后续命名空间的问题
"autoload": {
"psr-4": {
"App\\": "app/",
"MyApp\\": "MyApp/" //加入你自定义模块的配置
},
"files": []
}
编辑完毕后执行:
composer dump-autoload -o
第二步,调整config/autoload/annotations.php,这个是注解的配置文件
return [
'scan' => [
'paths' => [
BASE_PATH . '/app',
BASE_PATH . '/MyApp', //加入你项目的目录,否则注解无法在此文件下生效
],
'ignore_annotations' => [
'mixin',
],
],
];
大功告成!