クラスプロパティとクラスメソッド
クラスプロパティ
個々のインスタンスではなくクラスで管理するプロパティ(ex:インスタンスの数など)。
public(private) static プロパティ
<?php class Menu { private $name; private $price; // クラスプロパティはstaticをつける private static $count = 0; } ?>
クラスプロパティへのアクセス
クラス::$プロパティでクラスプロパティにアクセスできる。
<?php echo Menu::$count ?>
クラスメソッド
インスタンスを生成せず直接クラスから呼び出すメソッド。クラスプロパティにアクセスするなど。 public(private) static メソッド
<?php class Menu // クラスプロパティと同様staticをつける // クラスメソッド内でクラスプロパティにアクセスするときはself public static function getCount() { return self::$count; } } ?>
コンストラクタを利用したクラスプロパティへのアクセス
クラスメソッドと同様selfでアクセスする。
<?php public function __construct($name, $price, $image) { $this->name = $name; $this->price = $price; $this->image = $image; // インスタンス作成時にインスタンス数を+1する self::$count++; } ?>