我想用動態代碼創建閉包。要做到這一點我寫了下面的代碼: -動態地將代碼傳遞給Closure/Annoymous函數
function generateFunction ($class, $method){
$code = "require_once 'Init.php';";
$code = '$model = new '.$class.'();';
$code .= '$model->'.$method.'();';
return function() use(&$code){
return eval($code);
};
}
我知道的eval是邪惡的,但無法找到任何替代呢。
要獲得可變我用下面的代碼的功能: -
$myNewFunction = generateFunction ('svn', 'update');
現在我想將它作爲參數傳遞給我的PHP文件來運行該功能。但是這個函數在輸出上具有相同的主體,而我期望它如下所示。
function(){return eval(require_once 'Init.php';$model = new svn(); $model->update())}
基本上這個需要出現,當我決定整合Jobby。