Tp5入门——模块和方法调用

在ThinkPHP中,使用 $this 可以调用当前模块内的方法,但是很多情况下经常会在当前模块中调用其他模块的方法。这篇文章主要介绍了ThinkPHP跨模块调用操作,需要的朋友可以参考下。

模块和方法调用

跨控制器调用: 当前模块
public function callback_current_model()
{
    // 调用前台User

    // 方式1:直接实例化->前台
    $model1 = new \app\index\controller\User;
    echo $model1->index();

    // 方法2: use \app\index\controller\User
    $model2 = new User;
    echo $model2->index();

    // 方法3:系统方法
    $model3 = controller("User");
    echo $model3->index();
}
跨控制器调用: 不同模块->后台
public function callback_cothers_model()
{
    // 调用前台User

    // 方式1:直接实例化
    $model1 = new \app\admin\controller\Index;
    echo $model1->index();

    // 方法2: use \app\index\controller\User
    $model2 = new AdminIndex;
    echo $model2->index();

    // 方法3:系统方法
    $model3 = controller("admin/Index");
    echo $model3->index();
}
调动当前模块当前控制器中的方法
public function callback_current_method()
{
    $this->test();
    self::test();
    Index::test();
    action('test');
}
调动当前模块其他控制器中的方法
public function callback_others_method()
{
    $model1 = new \app\index\controller\User;
    echo $model1->test();

    echo action('User/test');
}
调动其他模块其他控制器中的方法
public function callback_others_model_method()
{
    // 方式1:直接实例化
    $model1 = new \app\admin\controller\Index;
    echo $model1->test();

    echo action('admin/index/test');
}
坚持原创技术分享,您的支持将鼓励我继续创作!