有没有办法让Laravel路由动态调用控制器和动作?我在文档中找不到任何内容。
<?php
Route::get('/{controller}/{action}',
function ($controller, $action) {
})
->where('controller', '.*')
->where('action', '.*');
Laravel没有自动将路由映射到控制器/操作的开箱即用实现。但是如果你真的想要这个,做一个简单的实现并不难。
例如:
Route::get('/{controller}/{action}', function ($controller,$action) {
return resolve("\App\HttpControllers\{$controller}Controller")->$action();
})->where('controller', '.*')->where('action', '.*');
请记住,此示例不会自动注入操作中的对象,也不会注入 url 参数。为此,您必须编写更多代码。