我正在使用 laravel 路线来批准电子邮件中的某些表格。所以我加密了一些变量并创建了链接,就像
<a href="http://localhost/travel/tr/approveRequest?id=<?=$Encoded_travelRq_id?>&gsID<?=$Encoded_emp_gslab_id?>&decrypt<?=$Encoded_iv?>/">Approve</a>;
Run Code Online (Sandbox Code Playgroud)
现在如何在 Laravel 端为此编写路由,我可以在其中分离诸如 id、gsID、从 url 解密之类的变量,并可以发送到针对该路由使用的控制器函数?
小智 9
通常我使用两种方式:
1º方式:
路线:
Route::get('approveRequest', 'ApproveController@approve');
Run Code Online (Sandbox Code Playgroud)
控制器:
public function approve (Request $request) {
$var1 = $request->input('var1');
$var2 = $request->input('var2');
// (...) do something with $var1 and $var2
}
Run Code Online (Sandbox Code Playgroud)
2º方式:
路线:
Route::get('approveRequest/{var1}/{var2}', 'ApproveController@approve');
Run Code Online (Sandbox Code Playgroud)
控制器:
public function approve ($var1, $var2) {
// (...) do something with $var1 and $var2: they already have a instance
}
Run Code Online (Sandbox Code Playgroud)
简单地写一个GET路由到approveRequest:
Route::get('approveRequest', 'ApproveController@approve');
Run Code Online (Sandbox Code Playgroud)
因为您使用的是 URL 参数,所以您可以approve()像这样简单地在函数中获取它们
public function approve(Request $request)
{
$id = $request->id;
$gsID = $request->get('gsID');
.... and so on for all your variables.
}
Run Code Online (Sandbox Code Playgroud)
使用这种方法,参数的顺序无关紧要。