5

假设我有一个类:

//no namespace
class User { 
    //...
}

我有一个变量:

$model = 'User';

new User当我当前在命名空间中时,如何实例化 a ?

new $model当我不在命名空间中时工作。但是,如果我在命名空间中而User不是在命名空间中怎么办。

像这样的东西不起作用:

namespace Admin;

class Foo {
    function fighter($model)
    {
        return new \$model;
        // syntax error, unexpected '$model'
    }
}

}
4

1 回答 1

9

首先将完整的命名空间放在一个变量中,然后使用它。

<?php    
$namespace = '\\'.$model;

return new $namespace
?>

同一主题:PHP 命名空间可以包含变量吗?

于 2012-08-12T12:00:24.403 回答