是否存在使Laravel路由动态调用控制器和动作的解决方案?我在文档中找不到任何内容。
<?php
Route::get('/{controller}/{action}',
function ($controller, $action) {
})
->where('controller', '.*')
->where('action', '.*');
答案 0 :(得分:2)
Laravel没有自动将路线映射到控制器/动作的现成实现。但是,如果您真的想要这个,那么进行简单的实现并不难。
例如:
Route::get('/{controller}/{action}', function ($controller,$action) {
return resolve("\\App\\Http\Controllers\\{$controller}Controller")->$action();
})->where('controller', '.*')->where('action', '.*');
请记住,此示例不会自动在您的操作中注入对象,并且也不会注入url参数。为此,您将不得不编写更多代码。