级挺疗陋吼哦喇祟屉萍腊白埔
创建Demo控制器:
<?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); } }
复制惯例配置文件中的代码:
复制到config.php
<?php return [ // 是否开启路由 'url_route_on'=> true, // 是否强制使用路由 'url_route_must'=> false, // URL参数方式 0 按名称成对解析 1 按顺序解析 'url_param_type' => 1, ];
测试加法:
如果传参形式为0,即按照名称成对解析
config.php
<?php return [ // 是否开启路由 'url_route_on'=> true, // 是否强制使用路由 'url_route_must'=> false, // URL参数方式 0 按名称成对解析 1 按顺序解析 'url_param_type' => 0, ];
此时需要这样传参:
改为按照顺序传参,并测试减法,乘法,除法
<?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');
加减乘除测试:
使用别名路由,即通过math访问index模块下的demo控制器下的方法
route.php:
<?php think\Route::alias('math','index/demo');
加减乘除测试:
创建Test控制器
<?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');
执行:
route.php完全限定名称:
<?php think\Route::alias('math','index/demo'); think\Route::alias('php','\app\index\controller\Test');
执行:
设置别名路由的后缀
route.php
<?php think\Route::alias('math','index/demo',['ext'=>'html']);
执行,不加后缀报错,加了后缀成功运行。
只允许访问加减法:(白名单)
<?php think\Route::alias('math','index/demo', [ 'ext'=>'html',//后缀必须是html 'allow'=>'add,sub'//白名单:只允许访问加法和减法 ]);
执行,访问加减法可以,访问乘除法报错
黑名单,不允许访问加减法
<?php think\Route::alias('math','index/demo', [ 'ext'=>'html',//后缀必须是html 'except'=>'add,sub'//黑名单:不允许访问加法和减法 ]);
执行,不允许访问加减法,可以访问除了加减法之外的方法
使用静态数组实现相同的功能
<?php return [ '__alias__'=>[ 'math'=>['index/demo',['ext'=>'html','except'=>'add,sub']] ] ];
执行:执行,不允许访问加减法,可以访问除了加减法之外的方法
炬闭晚胜闹碗铰艾铂妊翠啪圣