1
因此,我正在使用一個bag類,並試圖從bag類動態創建變量。通過getter創建PHP動態變量
這是我有:
class BagFoo
{
public $a;
public $b;
public $c;
}
class Bar
{
private $bagFoo;
public function output()
{
foreach($this->bagFoo as $key => $value)
{
$$key = $value;
}
//output then happens here.
}
}
這讓我打電話給$的,而不是$this->bagFoo->getA();
這是我比較喜歡,但問題是我要揭露成員變量來實現它。我想要有相同的動態變量賦值,但通過getter訪問成員變量,而不是直接訪問。
解決方案我已經,雖然並沒有真正喜歡:
- 具有
BagFoo
一個getVars()
函數將返回變種的名稱和值的數組,然後通過迭代。 - 調用
get_class_methods()
,然後解析並迭代getters(ew)。
我敢肯定,有一種方法可以讓我以更優雅的形式進行嘗試,但我無法想象如何實現它。
以下是一個示例http://thegeekyland.blogspot.com/2015/11/php-dynamic-variables.html – Arlind