在一个模块的方法中,如果需要调用其他模块的方法
//可以再方法中,直接new其他 模块名Action() 来得到 $module=new ModuleAction()
例:
假设在User模块reg()方法中想调用Wuliao模块的wu()方法
方法 1:$wuliao=new WuliaoAction(); $wuliao->wu();
方法2: 简化写法 用系统给的方法大A $wuliao=A('Wuliao'); $wuliao->wu();
通过上面我们想到,如何能够直接调用其他模块的方法呢?
远程调用 //$zs=R('Wuliao/zhishu'); common.php 287行左右
R('module/action')==={$class=A('module');return $class->action}
===========跨项目调用=========
A('module'), 则调用本项目下的moduel
A('项目目录名://module'); 则调用项目目录名/module
========如何跨项目调用的?
牵涉到import的导入机制
import会把参数分析成以下几种路劲可能
A('module')===> @/Action/module //@ 本项目中
A('项目目录名://module')===>项目目录名/Action/module
还有thinkphp/Action/module ,com/Action/module,org/Action/module
顺序依次
@
think
com,org
其他项目
因此,提醒,项目目录不能叫做think,com,org
-====跨项目调用远程方法的返回值
R('项目目录://module/action');
//跨项目调用时,只能是项目目录平级可行
common.php 136行左右