'Create a function that can be used by other functions
I have a block of code that seems to use repetitive parameters, is there any way for me to simplify my code? I was thinking of create a function that can be used by multiple methods but I dont have any idea on how to start.
public function index(Request $request)
{
return view(
'/FPXMain/seller2DReceiver',
['fpx_msgType'=>$request->fpx_msgType,
'fpx_msgToken'=>$request->fpx_msgToken,
'fpx_sellerExId'=>$request->fpx_sellerExId,
'fpx_sellerExOrderNo'=>$request->fpx_sellerExOrderNo,
'fpx_fpxTxnTime' => date("ymdHis"),
'fpx_sellerTxnTime' => date("ymdHis"),
'fpx_sellerOrderNo' =>$request->fpx_sellerOrderNo,
'fpx_sellerId' => $request->fpx_sellerId,
'fpx_sellerBankCode' => $request->fpx_sellerBankCode,
'fpx_txnCurrency' => $request->fpx_txnCurrency,
'fpx_txnAmount'=> $request->fpx_txnAmount,
'fpx_buyerEmail'=> $request->fpx_buyerEmail,
'fpx_checkSum'=> $request->fpx_checkSum,
'fpx_buyerName'=> $request->fpx_buyerName,
'fpx_buyerBankId' => $request->fpx_buyerBankId,
'fpx_buyerBankBranch'=> $request->fpx_buyerBankBranch,
'fpx_buyerAccNo'=> $request->fpx_buyerAccNo,
'fpx_buyerId' => $request->fpx_buyerId,
'fpx_makerName'=>$request->fpx_makerName,
'fpx_buyerIban' => $request->fpx_buyerIban,
'fpx_version' => $request->fpx_version,
'fpx_debitAuthNo'=>'999999999',
'fpx_creditAuthNo'=>'999999999',
'fpx_productDesc'=> $request->fpx_productDesc,
'isLoggedIn'=>'']
);
}
/**
* Show login page
*
* @param $request request
*
* @return return view
*/
public function showLogin(Request $request)
{
return view(
'/maybank/login',
['fpx_msgType'=>$request->fpx_msgType,
'fpx_msgToken'=>$request->fpx_msgToken,
'fpx_sellerExId'=>$request->fpx_sellerExId,
'fpx_sellerExOrderNo'=>$request->fpx_sellerExOrderNo,
'fpx_fpxTxnTime' => date("ymdHis"),
'fpx_sellerTxnTime' => date("ymdHis"),
'fpx_sellerOrderNo' =>$request->fpx_sellerOrderNo,
'fpx_sellerId' => $request->fpx_sellerId,
'fpx_sellerBankCode' => $request->fpx_sellerBankCode,
'fpx_txnCurrency' => $request->fpx_txnCurrency,
'fpx_txnAmount'=> $request->fpx_txnAmount,
'fpx_buyerEmail'=> $request->fpx_buyerEmail,
'fpx_checkSum'=> $request->fpx_checkSum,
'fpx_buyerName'=> $request->fpx_buyerName,
'fpx_buyerBankId' => $request->fpx_buyerBankId,
'fpx_buyerBankBranch'=> $request->fpx_buyerBankBranch,
'fpx_buyerAccNo'=> $request->fpx_buyerAccNo,
'fpx_buyerId' => $request->fpx_buyerId,
'fpx_makerName'=>$request->fpx_makerName,
'fpx_buyerIban' => $request->fpx_buyerIban,
'fpx_version' => $request->fpx_version,
'fpx_debitAuthNo'=>'999999999',
'fpx_creditAuthNo'=>'999999999',
'fpx_productDesc'=> $request->fpx_productDesc,
'isLoggedIn'=>''
]
);
}
I'm very new to laravel and php, and still learning my way around this. Hope someone can help! Thanks.
Solution 1:[1]
In your case, you can try:
return view(
'/FPXMain/seller2DReceiver',
get_object_vars($request) +
[
'fpx_fpxTxnTime' => date("ymdHis"),
'fpx_sellerTxnTime' => date("ymdHis"),
'fpx_debitAuthNo'=>'999999999',
'fpx_creditAuthNo'=>'999999999'
'isLoggedIn'=>''
]
);
get_object_vars will convert object to array.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |
