doushang1880 2015-05-07 07:53
浏览 22
已采纳

如何不用包路由超载主路由?

Main App Routes:

Route::get('/login', [
    'as' => 'user.login', 
    'uses' => 'LoginController@login'
];
Route::get('/logout', [
    'as' => 'user.logout', 
    'uses' => 'LoginController@logout'
];
Route::get('/admin', [
    'as' => 'admin.index', 
    'uses' => 'AdminController@index'
];

I have a package (vendor) (example : metrakit/mypackage) with a routes.php file. In this file I have a route :

Route::get('/{slug}', [
    'as' => 'item.show', 
    'uses' => 'ItemController@show'
]; 

This route overload all my main routes ! My routes like "/login", "/logout", "/bob", ... are all redirected to my controller ItemController.

I don't want to have a route like

Route::get('/item/{slug}', array('as' => 'item.show', 'uses' => 'ItemController@show'); 

I thinks, I have to do a route pattern like this :

Route::pattern('slug', '^((?!(login|logout|admin)).)*$'); 

But it looks a bit dirty and it's not dynamic.

So Im searching about a better solution.

  • 写回答

2条回答 默认 最新

  • doufei6456 2015-05-17 14:24
    关注

    Looks like you did the right way. A problem that might happen is when adding a new route in your route.php file, you'd have to add in your route pattern as well. However, it could be solved by creating a global variable for setting it only once.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算