0

是否有任何解决方案可以让 Laravel 路由动态调用控制器和操作?我在文档中找不到任何东西。

<?php

Route::get('/{controller}/{action}',
    function ($controller, $action) {
    })
    ->where('controller', '.*')
    ->where('action', '.*');
4

1 回答 1

2

Laravel 没有开箱即用的实现,可以自动将路由映射到控制器/动作。但是如果你真的想要这个,做一个简单的实现并不难。

例如:

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

请记住,此示例不会自动在您的操作中注入对象,也不会注入 url 参数。您将不得不编写更多代码来执行此操作。

于 2019-01-15T10:40:12.620 回答