zoukankan      html  css  js  c++  java
  • tp跨模块调用

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

  • 相关阅读:
    Köln-keith jarrett
    关于写博客,看博客
    django中使用celery
    django邮箱验证模块
    django验证码模块使用
    auth模块
    djangoORM语句
    django的from组件
    django分页
    django基本数据类型
  • 原文地址:https://www.cnblogs.com/loveyouyou616/p/2800868.html
Copyright © 2011-2022 走看看