laravel在中間件內生成參數(shù)并且傳遞到控制器中的2種姿勢
更新時間:2019年10月15日 09:09:09 作者:小曹小盆友
今天小編就為大家分享一篇laravel在中間件內生成參數(shù)并且傳遞到控制器中的2種姿勢,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
姿勢1
使用$request->attributes->add($arr)方法
Demo:
注冊中間件這部分就不說了 主要說用法
class MidParams //中間件
{
public function handle($request, Closure $next)
{
$mid_params = ['mid_params'=>'this is mid_params'];
$request->attributes->add($mid_params);//添加參數(shù)
return $next($request);//進行下一步(即傳遞給控制器)
}
}
class MidController extends Controller { //控制器
public function testMidFunc(Request $request) {
$input_params = $request->input();//獲取參數(shù)
$mid_params = $request->get('mid_params');//中間件產(chǎn)生的參數(shù)
return ['my_params'=>$input_params,
'mid_params'=>$mid_params];
//注意:$request->attributes->add這種方法 input()取不到值 只能用get('xxx')取到值
}
}
下面來看結果:

my_params是傳的參,mid_params是中間件生成的參
姿勢2
使用$request->merge($arr)方法
Demo:
class MidParams //中間件
{
public function handle($request, Closure $next)
{
$mid_params = ['mid_params'=>'this is mid_params'];
$request->merge($mid_params);//合并參數(shù)
return $next($request);
}
}
class MidController extends Controller { //控制器
public function testMidFunc(Request $request) {
$all_params = $request->input();//獲取參數(shù)
return ['all_params'=>$all_params];
}
}
結果:

merge后$request->input()能獲取到所有的參數(shù)
以上這篇laravel在中間件內生成參數(shù)并且傳遞到控制器中的2種姿勢就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
PHP結合jQuery.autocomplete插件實現(xiàn)輸入自動完成提示的功能
本文將使用jquery ui的autocomplete插件,結合后端PHP,數(shù)據(jù)源通過PHP讀取mysql數(shù)據(jù)表的數(shù)據(jù),有需要的朋友可以參考一下。2015-04-04
使用JavaScript創(chuàng)建新樣式表和新樣式規(guī)則
這篇文章主要介紹了使用JavaScript創(chuàng)建新樣式表和新樣式規(guī)則的相關資料,需要的朋友可以參考下2016-06-06
PHP in_array()函數(shù)基本語法及嚴格比較使用實例
PHP是一種常用的服務器端腳本語言,提供了豐富的內置函數(shù)來簡化開發(fā)過程,其中,in_array()函數(shù)是一種非常有用的函數(shù),用于判斷數(shù)組中是否存在指定的值,本文將詳細介紹in_array()函數(shù)的用法,并提供具體的代碼示例2024-01-01

