有沒(méi)有辦法使用對(duì)象屬性的值實(shí)例化一個(gè)新的類實(shí)例?$arg = 'hello';$class = $foo->bar;$instance = new $class($arg);這工作正常,但我想跳過(guò)第二行,只做類似的事情:$instance = new {$foo->bar}($arg);
1 回答

慕雪6442864
TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
在 PHP 5.0.4+ 中,這可以正常工作:
$instance = new $foo->bar($arg);
完整示例:
<?php
$foo = new foo();
$arg = 'hello';
$class = $foo->bar;
$instance = new $class($arg);
$instance = new $foo->bar($arg); // your requested shorthand
class foo {
? ? public $bar = 'bar';
}
class bar {
? ? public function __construct($arg) {
? ? ? ? echo $arg;
? ? }
}
- 1 回答
- 0 關(guān)注
- 128 瀏覽
添加回答
舉報(bào)
0/150
提交
取消