问答详情
源自:4-5 [MVC实例]入口文件功能

类的实例化

function C($name){
        eval('$controller=new '.$name.'Controller();');
        return $controller;
    }
    function M($name){
        $model=new $name.'Model()';
        return $model;
    }

在这两个实例化中,用eval();能正常运行,不用的时候就报错,请问为什么下面这种形式会报错?是不是这里的实例化只能用eval()来处理?

提问者:无魂 2015-09-17 18:00

个回答

  • PengCheng
    2015-09-18 09:35:10

    eval 慕课的大神说不安全,不让用。所以我改成下面 那个写法了。 正确写法应该是

    $model = $name.'Model';

    return new $model();