2

次のような構造のクラスがあります。

class Test {

    private $var1;
    private $var2;
    private $var3;

    public function __construct($params) {

        foreach($params as $key => $value) {

            $this->$key = $value;

        }

    }

}

新しいオブジェクトをインスタンス化するときに、適切と思われるパラメータをいくつでも渡すことができるという考え方です。たとえば、次のことができます。

$params['var2'] = "Variable 2 Instantiated";
$params['var3'] = "Test";
$test = new Test($params);

これは、$test->var2と$test->var3のみをインスタンス化します。

これまで割り当てのリストを作成してきましたが、使用可能なメンバーの半分だけでオブジェクトをインスタンス化する場合は、値が設定されているかどうかなどを確認する必要があります。

したがって、実際の質問は次のとおりです。

動的クラスメンバーに値を割り当てるための正しい構文は何ですか?

$this->$var = $var2

私の例のように、は機能していません。運が悪かったのでグーグルを試してみました。

4

1 に答える 1

1

あなたの例はすでに完全に機能しています。codepad.orgで動作していることを確認してください

于 2012-06-28T20:24:07.793 に答える