在一个模块的方法中,如果需要调用其他模块的方法
//可以再方法中,直接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行左右

 

posted on 2012-12-04 10:18  睡着的糖葫芦  阅读(304)  评论(0编辑  收藏  举报