thinkphp6路由器详解
路由配置文件
所有的路由规则都在这个文件中配置
注册路由到控制器中到方法
在路由文件中定义规则
// 路由到Qipa控制器 ,且定义变量名称为id,在控制器read方法中接受时需保持一致
Route::rule('qipa/:id','qipa/read');
qipa控制器文件代码
<?php
namespace app\controller;
use app\BaseController;
class Qipa extends BaseController
{
public function index()
{
return '我是奇葩控制器';
}
public function hello($name = 'ThinkPHP6')
{
return 'hello,' . $name;
}
//与路由规则中定义的变量名称保持一致,否则接受不到
public function read($id)
{
return 'www.qipa250.com-read-id=' .$id;
}
}
访问:http://mac.tp6.com/qipa/888
控制器中接受参数
// 路由到Qipa控制器read2方法
Route::rule('qipa/:id','qipa/read2');
qipa控制器中定义read2方法
//一定要引入reques否则不能使用
use think\facade\Request;
public function read2()
{
echo 'read2-id:'.Request::param('id');
}
定义路由请求为get或post
// 路由到Qipa控制器 定义为get请求
Route::rule('qipa/:id','qipa/read','GET');
若是修改为post请求
// 路由到Qipa控制器 定义为post请求
Route::rule('qipa/:id','qipa/read','POST');
在浏览器中get请求访问时报错:
直接定义为get请求,将rule替换为get即可
// 路由到Qipa控制器 定义为get请求
Route::get('qipa/:id','qipa/read');
同样定义为post请求
Route::post('qipa/:id','qipa/read');
在浏览器中访问则会报错,因为不是post请求