0

私はPHPを初めて使用するので、ここで何かを見落としているかもしれませんが、次のとおりです。

class someClass {

    var $id = $_GET['id'];

    function sayHello() {

        echo "Hello";

    }

}

次のエラーが発生します。

解析エラー:構文エラー、13行目のC:\ xampp \ htdocs \ files\classes.phpに予期しないT_VARIABLE

$ _GET['id']の代わりに変数$idを文字列に設定した場合でも、すべて問題ありません。

4

2 に答える 2

4

この方法では、コンストラクターを使用せずに、定数以外のものをクラスメンバーに割り当てることはできません。

マニュアルを参照してください:

[プロパティの]宣言には初期化が含まれる場合がありますが、この初期化は定数値である必要があります。つまり、コンパイル時に評価でき、評価するために実行時情報に依存してはなりません。

これを行う別の方法は、コンストラクターを使用して値を設定することです。

class someClass {

    var $id;

    public function __construct(){
        $this->id = $_GET['id'];
    }

    function sayHello() {
        echo "Hello";
    }
}
于 2010-03-22T22:54:26.540 に答える
1

コンストラクターで変数を割り当てる必要があります

class someClass {

    function __construct() {
        $this->id = $_GET['id'];
    }

}
于 2010-03-22T22:55:01.450 に答える