0

静的変数とは何かを理解しようとしています。

クラスをインスタンス化せずにアクセスできますが、他にどのような利点があり、いつ使用する必要がありますか?

たとえば、私のクラスには、取得しようとしている Twitter フィードの名前を保持するプライベート変数があります。

これは静的であるべきですか?変更する必要はありません。

4

4 に答える 4

1

通常、インスタンス固有ではないが変数に格納する必要があるものは、静的変数にする必要があります。それ以外の場合は、このマニュアルに詳細が記載されています: http://php.net/manual/en/language.variables.scope.php

それ以外の場合は、定数の使用も検討できます。あなたが言及した例(他の人が書いたように)では、定数を使用するのが最も賢明なようです。(クラス定数、または単純なもののいずれか。)

于 2013-11-11T14:28:13.173 に答える
0

後で必要になるものがクラスにあるとしましょう。

さて、あなたはそれを必要としていますが、実際にはそのクラスの新しいインスタンスを作成する必要はありません。

そのため、静的メソッド/プロパティを使用します

于 2013-11-11T14:58:08.093 に答える
0

静的変数は、関数が再度呼び出された場合に関数内の変数の値を保持する場合に使用します。

静的変数の例は次のとおりです。

function addOne(){
    static $i = 0;
    $i++;
    return $i;
}

echo addOne();
echo addOne();
echo addOne();

どちらが返されますか

123

static キーワードがなければ、これは単純に戻ります

111

あなたの質問では、変更する必要のないデータがあると述べています。質問のコメントにあるように、これを定数にする必要があります。

于 2013-11-11T14:32:59.020 に答える