1

間にスペースを入れたオブジェクト名を持つクラスを作成しようとしています。ちょうど私がこのようにそれらにアクセスできるように:

$object->{'Var name with spaces'};

ここでこのトピックを読み、これらの変数にアクセスする方法を理解しましたが、これらの変数を使用してクラスを作成する方法がわかりません。私はこのようなことを試しましたが、それを機能させることができません:

class Hotel
{
    public ${'Var name with spaces'} = 'Some value'; // Fails
}

スペースを含むクラス定義に変数を作成するにはどうすればよいですか?

4

1 に答える 1

9

クラスのプロパティは実行時の評価を必要としないため、コンストラクターでこれを行う必要があると確信しています。

class Hotel {
    public function __construct() {
        $this->{'Var name with spaces'} = 'Some value';
    }
}

このデモでそれが機能しているのを見ることができますが、コメントはあなたがこれをすべきではない理由を十分に明らかにしていると思います。:)

于 2012-08-07T13:08:23.387 に答える