1

クラス内の変数で区切り記号 (.) を使用できないのはなぜですか?

class Object(){
    public $var  = "Hello"."World";
    # Or
    public $test = "Hello";
    public $var2 = $this->test."World";
}

このコードは私にこのエラーを与えます:

解析エラー: 構文エラー、予期しない '.'、',' または ';' が必要です 2行目のtest.php

そして、どうすればいいですか?

4

1 に答える 1

4

変数式でクラス プロパティを宣言できないためです。つまり、算術演算子+ - * /や連結演算子は使用.できず、関数を呼び出すこともできません。3 行のうち、機能するのは 1 つだけ$testです。他の2つはエラーになります。

文字列を動的に構築する必要がある場合は、コンストラクターで行います。

class Object {
    public $test = "Hello";
    public $var2;

    public function __construct() {
        $this->var2 = $this->test . "World";
    }
}

ちなみに、.「文字列区切り」ではありません。連結演算子です。文字列を分離するのではなく、結合するために使用します。

于 2011-01-22T17:32:03.210 に答える