4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)

级挺疗陋吼哦喇祟屉萍腊白埔

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第1张

创建Demo控制器:

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第2张

<?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-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第3张

复制到config.php

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第4张

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

测试加法:

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第5张

如果传参形式为0,即按照名称成对解析

config.php

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

此时需要这样传参:

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第6张

改为按照顺序传参,并测试减法,乘法,除法

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第7张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第8张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第9张


4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第10张

<?php
think\Route::get('add/:m/:n','index/demo/add');
think\Route::get('sub/:m/:n','index/demo/sub');
think\Route::get('mult/:m/:n','index/demo/mult');
think\Route::get('div/:m/:n','index/demo/div');

加减乘除测试:

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第11张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第12张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第13张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第14张


使用别名路由,即通过math访问index模块下的demo控制器下的方法

route.php:

<?php
think\Route::alias('math','index/demo');

加减乘除测试:

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第15张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第16张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第17张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第18张


创建Test控制器

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第19张

<?php
namespace app\index\controller;
class Test
{
    public function hello()
    {
        return "hello mengmianren";
    }
}

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

<?php
think\Route::alias('math','index/demo');
think\Route::alias('php','index/test');

执行:

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第20张

route.php完全限定名称:

<?php
think\Route::alias('math','index/demo');
think\Route::alias('php','\app\index\controller\Test');

执行:

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第21张


设置别名路由的后缀

route.php

<?php
think\Route::alias('math','index/demo',['ext'=>'html']);

执行,不加后缀报错,加了后缀成功运行。

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第22张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第23张


只允许访问加减法:(白名单)

<?php
think\Route::alias('math','index/demo', [
    'ext'=>'html',//后缀必须是html
    'allow'=>'add,sub'//白名单:只允许访问加法和减法
]);

执行,访问加减法可以,访问乘除法报错

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第24张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第25张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第26张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第27张


黑名单,不允许访问加减法

<?php
think\Route::alias('math','index/demo', [
    'ext'=>'html',//后缀必须是html
    'except'=>'add,sub'//黑名单:不允许访问加法和减法
]);

执行,不允许访问加减法,可以访问除了加减法之外的方法

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第28张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第29张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第30张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第31张


使用静态数组实现相同的功能

<?php
return [
    '__alias__'=>[
        'math'=>['index/demo',['ext'=>'html','except'=>'add,sub']]
    ]
];

执行:执行,不允许访问加减法,可以访问除了加减法之外的方法

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第28张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第29张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第30张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第31张


4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第36张

4-9ThinkPHP5路由简化技巧之:别名路由(白名单与黑名单设置)第37张


炬闭晚胜闹碗铰艾铂妊翠啪圣