我在数据库中存储了Controller@Action
,但是当我尝试运行它时,它没有值。
我知道eval非常危险。如果在这种情况下我可以使用其他替代方案,我会对它开放。
我的代码我不想运行它:
//$action = "ExchangeController::module_getAllValutaByBank";
//$params = "K&H";
$test = eval('\App\Http\Controllers\ModuleControllers' . "\\" . $action . "('" . $params . "');");
Debugbar::info($test);
我想要评估的代码:
这是对本地ForexChange网站的API请求。 @param银行的名字 @return结构化字符串
public static function module_getAllValutaByBank($bankName){
$return = '';
$data['bankName'] = $bankName;
$response = self::getRequest($data);
if(is_array($response)){
$return .= $response[0]['bank'] . "\n";
foreach($response as $key => $item){
$return .= $item['valuta'] . " - " . round($item['buy'], 2) . " - " . round($item['sell'], 2) . "\n";
}
} else {
$return = $response;
}
Debugbar::info($return);
return $return;
}
Debugbar::info($return);
K& H Bank GBP - 338.51 - 363.07 AUD - 189.9 - 207.8 DKK - 39.75 - 43.93 日元 - 2.26 - 2.48加元 - 188.73 - 206.51挪威克朗 - 30.92 - 34.18瑞士法郎 - 256.89 - 275.53 SEK - 29.18 - 32.26 USD - 246.14 - 260.32 CZK - 11.51 - 12.97 PLN - 69.87 - 78.79 EUR - 302.92 - 320.38 HRK - 39.39 - 44.41
Debugbar::info($test);
空
哪里出错了?
修改
找到解决方案:
$test = call_user_func('\App\Http\Controllers\ModuleControllers' . "\\" . $action, $params));
答案 0 :(得分:0)
找到解决方案:
$test = call_user_func('\App\Http\Controllers\ModuleControllers' . "\\" . $action, $params));