簡體   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