PHP:通过对象属性值实例化类

有没有办法使用对象属性的值实例化一个新的类实例?


$arg = 'hello';

$class = $foo->bar;

$instance = new $class($arg);

这工作正常,但我想跳过第二行,只做类似的事情:


$instance = new {$foo->bar}($arg);


千巷猫影
浏览 91回答 1
1回答

慕雪6442864

在 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 shorthandclass foo {    public $bar = 'bar';}class bar {    public function __construct($arg) {        echo $arg;    }}
打开App,查看更多内容
随时随地看视频慕课网APP