1.第一個問題:
index應用,article類,cate方法
路徑為/index/atricle/cate[/type][/page],
/type和/page是可變參數(shù)
如訪問:
/index/atricle/cate,
/index/atricle/cate/type,
/index/atricle/cate/page,
/index/atricle/cate/type/page
這條路由規(guī)則應該怎么定義成由column開頭,ename對應cate的名稱?
定義如下面方法錯誤:
Route::any('/column/{ename}[/{type}][/{page}]', [app\index\controller\Article::class, 'cate'])->name('column.cate');
模板中的url使用
route('column.cate',['ename' => $cate.ename]);
route('column.cate',['ename' => $cate.ename,'type'=> $cate.type]);
2.第二個問題:
在模板中如何使用request()函數(shù)獲取使用了路由后的參數(shù)。
如/index/article/cate()方法,文章分類的ename名稱為news,
route('column.cate',['ename' => $cate.ename])
如何拿到ename,
使用request()->get('ename')無法獲取到,此處為了解決我點擊相應的分類欄目,改變背景色。
1、最簡單的方案,每個規(guī)則寫一個路由,起個名字,類似
Route::any('/index/atricle/cate', [app\index\controller\Article::class, 'cate'])->name('column.cate.empty');
Route::any('/index/atricle/cate/{type_or_page}', [app\index\controller\Article::class, 'cate'])->name('column.cate.or');
Route::any('/index/atricle/cate/{type}/{page}', [app\index\controller\Article::class, 'cate'])->name('column.cate.type.page');
2、通過view方法將變量傳遞到模版里,例如
return view('path/file', ['ename' => xxx]);
模版里用
route('column.cate',['ename' => $ename])
謝謝,問題解決。think的路由,使用起來感覺更簡單,像這樣一條即可,Route::get('blog/:year/[:month]/[:day]','Blog/archive');