您现在的位置是:首页 > ThinkPHP

李清波 2019-08-19 ThinkPHP 1542 复制当前网址

ThinkPHP5跨控制器调用

同模块

方法一:使用命名空间

//调用index模块user控制器中的index方法
$model = new \app\index\controller\User;
echo $model->index();

 

 方法二:

//先引入
use app\index\controller\User;
$model = new User;
echo $model->index();

 

 方法三:

//使用系统方法
$model = controller('User');
echo $model->index();

     

其他模块控


方法一,前台index模块调用后台admin下面的控制器方法

//使用命名空间
$model =  new \app\admin\controller\Index;
echo $model->index();


方法二:

//使用引入
use \app\admin\controller\Index as AdminIndex; //注意控制器名重复要改别名
$model = new AdminIndex();
echo $model->index();

  

 方法三:

 //系统方法调用
 $model = controller('admin/Index');
 echo $model->index();

 

同控制器的其他方法

//fangfa方法调用test方法
public function fangfa(){
    //方法一:
    echo $this->test();
            
    //方法二:
    echo self::test();
            
     //方法三:
    echo Index::test();//Index控制器
            
     //方法四:
    echo action(' test');
        
 }

    

其他控制器方法与其他模块方法

public function fangfa(){
//调用同控制器的index方法
    echo action('index');
    
    //调用其他控制器index方法
    echo action('User/index');
    
    //调用其他模块下的index方法
    echo action('admin/Index/index');
}


文章来源:http://liqingbo.com/blog-1589.html

评论