如何在 Laravel 中拥有动态控制器
How to have a dynamic controller in Laravel
我正在尝试调用动态弹出视图,我需要在其中通过控制器传递数据,我希望控制器是动态的,它将访问特定功能并相应地制作视图。基本上我正在寻找这样的东西:
Route::post('/popup/{id}', 'PopupController@{$id}');
所以基本上假设当它被这样调用时:mydomain.com/popup/id1
,它应该调用 PopupController@id1
.
帮我解决这个问题。
我建议不要编写动态路由或控制器,而是在控制器操作中使用 switch case。
例如
Route::post('/popup/{id}', 'PopupController@action');
在控制器中
public function action($id)
{
switch($id)
{
case 1: ...
case 2: ...
}
}
您需要一个可以触发适当函数的方法
Route::post('/popup/{id}', 'PopupController@dispatch');
在 PopupController 中
public function dispatch($id)
{
return $this->$id()
}
那么如果你的 $id
是 someFunction
你需要确保你的控制器有 function someFunction()
方法
我正在尝试调用动态弹出视图,我需要在其中通过控制器传递数据,我希望控制器是动态的,它将访问特定功能并相应地制作视图。基本上我正在寻找这样的东西:
Route::post('/popup/{id}', 'PopupController@{$id}');
所以基本上假设当它被这样调用时:mydomain.com/popup/id1
,它应该调用 PopupController@id1
.
帮我解决这个问题。
我建议不要编写动态路由或控制器,而是在控制器操作中使用 switch case。
例如
Route::post('/popup/{id}', 'PopupController@action');
在控制器中
public function action($id)
{
switch($id)
{
case 1: ...
case 2: ...
}
}
您需要一个可以触发适当函数的方法
Route::post('/popup/{id}', 'PopupController@dispatch');
在 PopupController 中
public function dispatch($id)
{
return $this->$id()
}
那么如果你的 $id
是 someFunction
你需要确保你的控制器有 function someFunction()
方法