まず、self がクラス自体を指していることを明確にする必要があります。つまり、PHP の self キーワードはインスタンス化されたオブジェクトを指していないのが一般的です。一般に、self は静的変数を指すために使用されます。クラス。
- <?php
- class Counter
- {
- // 属性を定義します。静的変数
- プライベート静的 $ { $this-
- >
lastCount-
= ++selft
::$firstCount; - //PHP self キーワードを使用して static を呼び出しますself を使用する場合は、次を使用する必要があります:: (フィールド操作記号)
-
} //最後のカウントを出力します function printLastCount() {
印刷( $this-
- >
-
lastCount );
- }
- }
- //インスタンス化されたオブジェクト $countObject
- =
new-
Counter();
- $countObject-
-
>printLastCount(); //出力 1 ?>
-
ここで注意する必要があるのは、6 行目と 12 行目の 2 か所だけです。 2行目で静的変数$firstCountを定義し、初期値は0です。そして12行目でこの値を呼び出し、PHPのselfキーワードを使って呼び出し、途中で「::」を使って接続しています。いわゆるドメインオペレーターです。 このとき呼び出すのは、クラス自体によって定義された静的変数 $frestCount です。静的変数は、次のオブジェクトのインスタンスとは何の関係もありません。クラスを呼び出す場合のみです。 self はクラス自体を指しており、オブジェクト インスタンスとは何の関係もないため、参照は PHP の self キーワードを使用して参照できます。言い換えれば、クラスに静的メンバーがある場合は、それらを呼び出すために self も使用する必要があります。
-
http://www.bkjia.com/PHPjc/445966.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445966.html
技術記事
まず、self がクラス自体を指していることを明確にする必要があります。つまり、PHP の self キーワードは、インスタンス化されたオブジェクトを指していないのが一般的です。self は、クラス内の静的変数を指すために使用されます。 ?php...