PHPの書籍を見て勉強している初心者です。
クラスのプロパティやメソッドなどに関してご教示ください。
<?php class Test { // No.1 public $a = 9; // No.2 public static $b = 8; // No.3 public function count() { // No.4 static $c = 0; echo $c; $c++; } // No.5 public static function sum($d,$e) { echo $d + $e; } } Test::count(); Test::count(); Test::count(); Test::sum(3,3); // No.6 print Test::$a; // No.7 print Test::$b;
PHPマニュアルの「static キーワード」のページに下記のような記述があります。
このページでは、static キーワードを使って静的なメソッドやプロパティを定義する方法を・・・
クラスプロパティもしくはメソッドを static として宣言することで、 ・・・
上記の記述から静的プロパティと静的メソッド、クラスプロパティとクラスメソッドの4つがあるという認識でおります。
【質問1】
クラスプロパティとは、No.1のpublic $a
のこと、
クラスメソッドとは、No.3のpublic function count()
のこと、
静的プロパティとは、No.2のpublic static $b
とNo.4のstatic $c
のこと、
静的メソッドとは、No.5のpublic static function sum($d,$e)
のことを指しているという認識でよろしいでしょうか?
【質問2】
クラスの外からクラスプロパティ($a
のこと)、静的プロパティ($b
のこと)へアクセスすることは可能でしょうか?
アクセス可能な場合、どのように記述するのでしょうか?
可能なら$a
と$b
にアクセスしたいと考えております。
【質問3】
No.6とNo.7の記述は、私の環境では何も表示されません。
エラーも表示されませんが、実行結果も表示されません。
記述に問題があるのでしょうか?
初歩的な質問で恐縮ですが、ご回答いただけると幸いです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。