中級 › staticプロパティを self:: なしで参照すると別の変数として扱われる › パターン5
staticプロパティを self:: なしで参照すると別の変数として扱われる
クラス内からstaticプロパティにアクセスするには self::$prop のように書く必要があります。
1 <?php 2 class Log { 3 public static array $entries = []; 4 public function add($e) { 5 _______________[] = $e; ^ 6 } 7 } 8 $l = new Log(); 9 $l->add("start"); 10 echo count(Log::$entries);
出力: 0期待: 1 (Warningすら出ません)
空欄を埋めて実行を通す
self::$entriesではなく$entriesと書くと、宣言されていないローカル配列への追加になります。
次の問題