很多时候,发现thinkphp 的命名空间,自动加载目录是被定在了 app目录里面。
用什么办法可以增加另外一个命名空间呢?
例如addons\controller ?
其实composer 工具是可以实现增加命名空间的配置办法的。
在您项目的根目录中打开 composer.json
,找到 autoload
项; 默认如下所示:
"autoload": {
"psr-4": {
"app\\": "app"
},
"psr-0": {
"": "extend/"
}
增加命名空间 addons,需要在psr-4 字段新增项目:
"autoload": {
"psr-4": {
"app\\": "app",
"addons\\":"addons"
},
"psr-0": {
"": "extend/"
}
然后,运行命令:
$ composer dump-autoload
这样成功把 addons\开始的命名空间,实现了类的自动加载。
当你在app里面的任何目录中的类,只要申明 use addons\controller\Admin;
那么,就可以调用起这个Admin类。用法完全和app里面的一致。
好了,本文内容全部结束,感谢您的阅读,希望对您有所帮助。