代码之家  ›  专栏  ›  技术社区  ›  Kamran G.

在Laravel中动态映射路线

  •  0
  • Kamran G.  · 技术社区  · 6 年前

    <?php
    
    Route::get('/{controller}/{action}',
        function ($controller, $action) {
        })
        ->where('controller', '.*')
        ->where('action', '.*');
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Jerodev    6 年前

    Laravel没有现成的实现,可以自动将路由映射到控制器/操作。但是,如果您真的想要这样做,那么制作一个简单的实现并不难。

    Route::get('/{controller}/{action}', function ($controller,$action) {
        return resolve("\\App\\Http\Controllers\\{$controller}Controller")->$action();
    })->where('controller', '.*')->where('action', '.*');
    

    请记住,此示例不会在操作中自动注入对象,也不会注入url参数。要做到这一点,您需要编写更多的代码。