【PHP入門】static修飾子でクラスを生成しないで変数を呼び出す

所有時間1分

今回はPHPのstatic修飾子を使って、クラスを生成(インスタンス化)せずにメソッド・プロパティを呼び出す方法を紹介します。

目次

static修飾子の宣言方法

class クラス名
{
  public static $プロパティ名= 値;

  public static function メソッド名()
  {
    処理
  }
}

上のようにクラスのプロパティ・メソッドの前で「static」と宣言します。

「staticプロパティ」と「staticメソッド」の呼び出し方法

クラス名::$プロパティ名; //staticプロパティの呼び出し
クラス名::メソッド名(); //staticメソッドの呼び出し

このようにstaticで宣言したプロパティ・メソッドはクラスをインスタンス化(生成)せずに使用できます。また、staticプロパティとstaticメソッドはオブジェクト化したクラスで使用できません。

static修飾子の例

class Car
{
  public static $doors = 4; //プロパティにstatic修飾子を宣言

  public static function drive() //メソッドにstatic修飾子を宣言
  {
    echo "運転しています";
  }
}

echo Car::$doors . "<br>"; //4
Car::drive(); //運転しています

$car = new Car();
echo $car->doors; //エラー
$car->drive; //エラー

このコードのようにstatic修飾子で定義したプロパティ・メソッドはクラスを生成せずに使用できますが、インスタンス化してしまうと使用できません。

以上です。

URLをコピーする
URLをコピーしました!
目次
閉じる