PSR4自动加载自定义类
笔者需求
基于ThinkPHP实现PSR4自动加载自定义类;
具体实现方法
方法1:.利用composer的autoload;
方法2:利用ThinkPHP的配置文件的配置选项root_namespace;
利用composer的autoload实现
在composer.json中修改以下字段;进行命名空间的加载
"autoload": {
"psr-4": {
"app\\": "application",
"test2\\":"test2"
}
},
在修改完成后,运行命令行代码 composer dump-autoload 后配置完成;
以上设置,添加了app,和test2两个顶级命名空间;
此方法不仅适用于Thinkphp框架,也适用于Laravel框架;
ThinkPHP框架配置文件实现
// 注册的根命名空间
'root_namespace' => [
'mynamespace'=>'../mynamespace',
'wx'=>'../extend/wx'
],
以上设置,相当于添加了两个类似app的顶级命名空间;
索引是命名空间前缀(顶级命名空间),值是application同级目录下的路径;