路由定义
<?php
use think\facade\Route;
// 路由基础
//Route::get('abc','address/details');
//Route::get('abc/:id','address/abc'); 单个参数
Route::rule('/','index');//首页访问
//Route::rule('details/:year/:month','Address/details');//多个参数
Route::rule('blog/:year/[:month]','Address/blog');//一个固定参数和一个可选参数
//隐式传参数,将参数隐藏在路由中,不在浏览器地址栏体现,起到某些安全的作用。
Route::rule('BlogRead/:id','Address/Blogread?status=1&app_id=5')
->name('brd');
//->起一个别名。供控制器回调,拿到url
Route::rule('geturl','address/geturl');
调用
<?php
namespace app\controller;
use think\Controller;
class Address extends Controller
{
public function index()
{
return 'Address index';
}
//固定一个参数
public function abc($id){
return 'i am details'.$id;
}
//固定两个参数
public function details($year,$month){
return 'i am details'.$year.'month='.$month;
}
//一个固定参数一个可选参数
public function blog($year,$month=''){
return 'i am blog'.$year.$month;
}
//隐士传参数
public function Blogread($id,$status,$app_id)
{
return 'i am BlogRead'.$id.$status.$app_id;
}
//路由的逆过程,拿到url
public function geturl(){
return url('brd',['id'=>10]);
}
}