- 149浏览
- 2022-05-06
<?php
//命名空间
namespace app\index\controller;
use app\admin\controller\Deer;
class User{
public function func(){
echo 'index模块,User控制器,func方法';
}
public function test(){
//一、调用相同模块下的不同控制器
//1.直接new类,创建对象,调用方法
$p = new Rabit();
$p->carrot();
echo '<hr>';
//2.系统方法对象 = controller(‘控制器名’),调用方法
$p = controller('Rabit');
$p->carrot();
echo '<hr>';
//二、调用不同模块下的控制器
//1.系统方法 对象 = controller('模块名/控制器名'),调用方法
$p = controller('admin/Deer');
$p->grass();
echo '<hr>';
//2.使用命名空间
$p = new \app\admin\controller\Deer;
$p->grass();
echo '<hr>';
//3.使用面向对象,跨模块需要引文件
$p = new Deer;
$p->grass();
}
public function test2(){
//一、调用相同控制器下不同方法(对象调用,本身调用,类调用,系统方法调用)
$this->func();
self::func();
User::func();
action('func');
//二、调用相同模块下不同控制器下方法
//1.系统方法 对象 = action('控制器路径/方法名')
$p = action('Rabit/carrot');
//2.类调用
$p = new Rabit;
$p->carrot();
//三、调用不同模块下控制器的方法
//1.系统方法调用
action('admin/Deer/grass');
//2.命名空间调用
$p = new \app\admin\controller\Deer;
$p->grass();
}
}
?>
注意:
命名空间使用反斜杠\
系统方法调用则为路径,(控制器/方法名)为路径的正斜杠。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。