tp5控制器调用,方法调用

Posted sss1995

tags:

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


 

<?php
    //命名空间
    namespace appindexcontroller;
    use appadmincontrollerDeer;
    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 appadmincontrollerDeer;
            $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 appadmincontrollerDeer;
            $p->grass();
        }
    }
?>

 

注意:

  命名空间使用反斜杠

  系统方法调用则为路径,(控制器/方法名)为路径的正斜杠。

以上是关于tp5控制器调用,方法调用的主要内容,如果未能解决你的问题,请参考以下文章

tp5 跨模块调用模板 所有的变量也要重新定义吗

TP5报如下的错误 Indirect modification of overloaded element of thinkpaginatorCollection has no effect(代码片段

TP5模板调用

tp5框架中的方法怎样实现自动调用

tp5 加载 extend 类库的方法 (有命名空间和没有命名空间的调用)

ASP.net MVC 代码片段问题中的 Jqgrid 实现