我正在尝试在 Laravel 中为我的控制器创建动态路由 - 我知道这可以在 Kohana 中完成,但我试图让它与 Laravel 一起工作一直没有成功。
这就是我现在所拥有的:
Route::get('/{controller}/{action?}/{id?}'...
所以我想打电话controller/method($id)
。
理想情况下,这是我想做的:
Route::get('/{controller}/{action?}/{id?}', $controller . '@' . $action);
并让它动态调用 $controller::$action。
我试过这样做:
Route::get('/{controller}/{action?}/{id?}', function($controller, $action = null, $id = null)
{
$controller = new $controller();
$controller->$action();
});
但我收到一条错误消息:类控制器不存在。因此,当控制器扩展 BaseController 时,Laravel 似乎没有包含所有必要的文件。
如果我使用$controller::$action()
它告诉我我不能静态调用非静态函数。
关于如何完成这项工作的任何想法?