繁体   English   中英

从命名空间中的变量名称实例化新类

[英]Instantiate a new class from a variable's name in a namespace

让我们说一个例子我有一个类:

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

我有一个变量:

$model = 'User';

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

当我不在命名空间中时, new $model可以工作。 但是,如果我在命名空间中并且User不在命名空间中,该怎么办?

这样的东西不起作用:

namespace Admin;

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

}

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

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

return new $namespace
?>

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM