thinkphp3.2跨控制器调用其他模块的方法

Posted chinalorin2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp3.2跨控制器调用其他模块的方法相关的知识,希望对你有一定的参考价值。

1
2
$hello new \Admin\Common\Fun\hello();
$hello->hehe();

调用其他地方的方法同理。

如果是在同控制器里模块名可以省略。

如调用common里面的某个类的方法:

1
2
$hello new \Common\Fun\hello();
$hello->hehe();

框架里面提供了跨模块夸、控制器的 A() 方法

1
2
3
4
5
6
7
class GoodsController extends Controller{
    function showlist(){
        // 实例化User控制器与调用方法
        $user = A(‘User‘);//通过快捷函数实例化控制器对象
        echo $user->number();//调用number()方法
    }
}

调用示范:

1
2
3
A(‘User‘);    //跨控制器
A(‘Admin/User‘);    //跨模块
A(‘shop://Admin/User‘);    //跨项目

如果还是不够方便的话框架还提供了R()方法,实例化类并调用方法。

1
2
3
4
//User为控制器 number为方法
R(‘User/number‘);
R(‘Admin/User/number‘);
R(‘shop://Admin/User/number‘);

效果如下:

1
2
3
4
5
6
class GoodsController extends Controller{
    function showlist(){
        // 实例化User控制器与调用方法
                A(‘User/number‘);//实例化user类并调用number方法
    }
}

以上是关于thinkphp3.2跨控制器调用其他模块的方法的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP3.2基础教程(33)--路由功能

ThinkPHP3.2.3 数据库备份与定时任务

ThinkPHP3.2基础教程(36)--控制器-前置和后置操作

thinkphp3.2.3前台怎样调用后台方法

ThinkPHP3.2基础教程(34)--URL操作

thinkphp3.2 不同入口文件如何进入默认的模块和控制器