簡體   English   中英

動態實例化另一個類

[英]Dynamically instantiate class from another

我舉了一個例子來更好地解釋這種情況。 如果我運行這個

class A
{
    public function __construct()
    {
        return new B(func_get_args());
    }
}

class B
{
    public function __construct()
    {
        var_dump(func_get_args());
    }
}

$obj = new A('a', 'b', 'c');

我懂了

array(1) {
  [0]=>
  array(3) {
    [0]=>
    string(1) "a"
    [1]=>
    string(1) "b"
    [2]=>
    string(1) "c"
  }
}

但是,如果B的構造函數原型是public function __construct($var1, $va2, $var3)呢? 如果我不知道B構造函數的確切參數數量,該如何將參數傳遞給它?

這可能不是您要找的那種,但是據我所知,我認為沒有其他解決方案。

Class A {
        public function __construct()
        {
            return new B(func_get_args());
        }
    }

    class B
    {
        public function __construct($paramArr = array())
        {
            var_dump($paramArr);
        }
    }

    $obj = new A('a', 'b', 'c');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM