学 thinkphp 用 d方法,为什么调用 common/model 不是 home/model ?
外部调用的function :
namespace home\controller;use think\controller;public function model_d(){ $stmt=d('shop'); $stmt->say();}
俩类文件:
被调用的是这个:c:\appserv\www\yb1\yangbins\common\model\shopmodel.class.php
()'; }}
为什么不是这个?c:\appserv\www\yb1\yangbins\home\model\shopmodel.class.phpsay();}
俩类文件:
被调用的是这个:c:\appserv\www\yb1\yangbins\common\model\shopmodel.class.php
()'; }}
为什么不是这个?c:\appserv\www\yb1\yangbins\home\model\shopmodel.class.php
'; }}
用d方法,并不会按命名空间指定的路径去找class。
d方法是按优先级加载最先找到的class,而且顺序就是从comon开始。
有两个方法解决你的问题。
$model = d(home/shop);
使用命令空间
use home\model\shopmodel;$model = new shopmodel();
外部调用不应该指定 use home\model\shop 吗