Onlar eval () olduğunu söylüyorlar evil. Ben düzgün PHP5 işlevselliğini kullanarak eval () hattının kullanımını önlemek istiyoruz. Statik bir sınıf yöntemi bir sınıf adı verilen, nasıl ben gerçek bir nesneyi döndürmek yapabilirim?
class Model {
public static function loadModel($sModelPath) {
if (!(strpos(' ' . $sModelPath, '/')>0)) {
$sModelPath .= '/' . $sModelPath;
}
$sModelName = str_replace('/','_',$sModelPath);
// P is a global var for physical path of the website
require_once(P . '_models/' . $sModelPath . '.php');
eval("\$oObject = new $sModelName" . '();');
return $oObject;
}
}