Thinkphp 总结(1) 结构了解 控制器调用

时间:2022-09-24 15:59:54

MVC 初始了解

1.新建控制器

app>index>前台目录下 >controller 目录创建 Car.php【必须大写】

namespace app\index\controller;
class Car{	
	public function index()
	{
		return "mycar";
	}	
}  

访问http://127.0.0.1/index.php/index/car/index

2.跨控制器调用
 
  controller 必须/    action /  \ 都可以

 <?php
namespace app\index\controller;

use  \app\index\controller\User;
use  \app\admin\controller\Index as AIndex;
class Index
{
    public function index()
    {
        return '010';
    }

    public function diaoyong()
    {
        #调用当前模块
        // 1.命名空间
        $modesl=new \app\index\controller\User;
        echo $modesl->index();

        echo "<hr>";
        // 2.使用use
        $s=new User;
        echo $s->index();
        echo "<hr>";
         // 3.使用系统方法
        $a=controller('index/User');
        echo $a->index();
    }
    public function dys()
    {
        $model= new \app\admin\controller\Index;
        echo $model->index();
        echo "<hr>";
        $A= new AIndex;
        echo $A->index();
        echo "<hr>";
     #系统方法
        $admin=controller('admin/Index');
        echo $admin->index();

    }
}

 访问http://127.0.0.1/index/index/diaoyong

public function ff()
    {
 // 1.调用当前控制器的test方法
        echo  $this->test() ;   
        echo "<hr>";   
        echo self::test();
        echo "<hr>";
        echo Index::test();
        #使用系统的方法
        echo "<hr>";
        echo action('Car/index');
         echo "<hr>";
         $c=controller('index/Car');
        echo $c->index();
    }
    public function ffother()
    {
// 1.调用其他控制器的test方法
        $mo=new \app\index\controller\User;
        echo $mo->index();
        echo "<hr>";
        echo action('User/index');
        echo "<hr>";
        echo action('admin/Index/adminindex');
    }

 差别:
控制器调用  ,先把控制器调用过来 再echo 他的index方法

$a=controller('index/User');
echo $a->index();

$admin=controller('admin/Index');
echo $admin->index();


方法调用  ,直接调用方法

echo action('User/index');
echo action('admin/Index/adminindex');