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