4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全

般购郎私椒伟驴视肮素笛嗣替

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第1张

D:\phpStudy\PHPTutorial\WWW\tp5\application\index\controller\Demo.php:

<?php
namespace app\index\controller;
class Demo
{
    //加法运算
    public function add($m,$n)
    {
        return $m.'+'.$n.'='.($m+$n);
    }
    //减法运算
    public function sub($m,$n)
    {
        return $m.'-'.$n.'='.($m-$n);
    }
    //乘法运算
    public function mult($m,$n)
    {
        return $m.'*'.$n.'='.($m*$n);
    }
    //除法运算
    public function div($m,$n)
    {
        //除法有可能是小数,保留两位精度即可
        return $m.'/'.$n.'='.round(($m/$n),2);
    }
}

执行:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第2张

将入口绑定到index模块

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第3张

<?php
// [ 应用入口文件 ]

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');

// 自定义配置文件目录
define('CONF_PATH', __DIR__ . '/../config/');

//绑定到指定模块
define("BIND_MODULE",'index');

// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

执行,此时不输入index模块也能访问:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第4张

将入口绑定到index模块下的Demo控制器

D:\phpStudy\PHPTutorial\WWW\tp5\public\index.php:

<?php
// [ 应用入口文件 ]

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');

// 自定义配置文件目录
define('CONF_PATH', __DIR__ . '/../config/');

//绑定到指定模块的控制器下(index模块的demo控制器)
define("BIND_MODULE",'index/Demo');

// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

此时,不输入控制器名即可访问

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第5张


4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第6张

打开惯例配置文件复制如下代码:D:\phpStudy\PHPTutorial\WWW\tp5\thinkphp\convention.php

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第7张

D:\phpStudy\PHPTutorial\WWW\tp5\config\config.php:

<?php
return [
    // 是否开启路由
    'url_route_on'=> true,
    // 是否强制使用路由
    'url_route_must'=> false,
    // URL参数方式 0 按名称成对解析 1 按顺序解析
    'url_param_type'         => 1,
    // 入口自动绑定模块
    'auto_bind_module'       => true,
];

创建admin模块,并创建控制器:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第8张

<?php
namespace app\admin\controller;
class Index
{
    public function index()
    {
        return "我是入口文件admin.php对应的模块下的方法";
    }
}

执行:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第9张


4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第10张

D:\phpStudy\PHPTutorial\WWW\tp5\public\index.php:

<?php
// [ 应用入口文件 ]

// 定义应用目录
define('APP_PATH', __DIR__ . '/../application/');

// 自定义配置文件目录
define('CONF_PATH', __DIR__ . '/../config/');

// 加载框架引导文件
require __DIR__ . '/../thinkphp/start.php';

执行:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第11张

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第12张

<?php
think\Route::bind('index');//绑定到index模块

执行,此时不需要输入index也能访问:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第13张

绑定到控制器:

D:\phpStudy\PHPTutorial\WWW\tp5\config\route.php;

<?php
think\Route::bind('index/Demo');//绑定到index模块

执行,此时不输入控制器也能访问:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第14张

绑定到操作:D:\phpStudy\PHPTutorial\WWW\tp5\config\route.php:

<?php
think\Route::bind('index/Demo/add');//绑定到index模块

执行,此时不输入操作也能访问:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第15张


4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第16张

D:\phpStudy\PHPTutorial\WWW\tp5\config\route.php:

<?php
//绑定到命名空间
think\Route::bind('app\index\controller','namespace');

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第17张

Index.php:

<?php
namespace app\index\controller;

class Index
{
    public function index()
    {
        return '萌面人资料铺';
    }
    public function hello()
    {
        return "www.xuexianswer.com";
    }
}

Demo.php

<?php
namespace app\index\controller;
class Demo
{
    //加法运算
    public function add($m,$n)
    {
        return $m.'+'.$n.'='.($m+$n);
    }
    //减法运算
    public function sub($m,$n)
    {
        return $m.'-'.$n.'='.($m-$n);
    }
    //乘法运算
    public function mult($m,$n)
    {
        return $m.'*'.$n.'='.($m*$n);
    }
    //除法运算
    public function div($m,$n)
    {
        //除法有可能是小数,保留两位精度即可
        return $m.'/'.$n.'='.round(($m/$n),2);
    }
}

执行,不需要输入模块就可以访问(命名空间已经包含了模块)

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第18张

访问index控制器

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第19张

注意:上图访问demo控制器中的方法没有成功(提示参数错误),不知是什么原因


绑定到Demo类

D:\phpStudy\PHPTutorial\WWW\tp5\config\route.php:

<?php
//绑定到命名空间
think\Route::bind('app\index\controller\Demo','class');

执行,此时不需要输入demo类名(测试没有成功提示参数错误):

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第20张


4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第21张

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第22张

Index控制器下的index方法:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第23张

执行:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第24张

访问不到设置的配置项

改为如下即可访问:

4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第25张


4-10TP5之路由绑定到模块/控制器/操作/命名空间/类:本课最全第26张


阑充票乒箔凌挂摔佩嚏募粮苏