天天看点

php 跨控制器调用,Thinkphp跨控制器调用

#### 同模块(index模块)

~~~

方法一:

//使用命名空间

//调用index模块user控制器中的index方法

$model = new \app\index\controller\User;

echo $model->index();//user下的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');

}

~~~