为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
千巷猫影 2023-08-11 17:01:39
有没有办法使用对象属性的值实例化一个新的类实例?$arg = 'hello';$class = $foo->bar;$instance = new $class($arg);这工作正常,但我想跳过第二行,只做类似的事情:$instance = new {$foo->bar}($arg);
查看完整描述

1 回答

?
慕雪6442864

TA贡献1812条经验 获得超5个赞

在 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;

    }

}


查看完整回答
反对 回复 2023-08-11
  • 1 回答
  • 0 关注
  • 69 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信