【これだけ】PHPのクラス(オブジェクト)【現役エンジニアが解説】

PROGRAM

今回は、PHPのクラス(オブジェクト)について、クラスの定義とクラスの使い方に分け、簡単に解説していきます。

クラスの定義

PHPでオブジェクトの概念を使うためには、まずクラスを定義する必要があります。

class User{
    public $name;
    public $age;

    public function __construct($name) {
        $this->name = $name;
    }

    public function __destruct() {
        
    }

    public function getInfo() {
        return $this->name."さんの年齢は".$this->age."歳です。";
    }
}

クラスは上記のように定義し、変数や関数はクラス外に公開するかしないかによってpublicかprivateかを決めます。

ここで、__construct関数はクラスを呼び出す際、__destruct関数はクラスの使用が終わった際に呼び出される関数となります。

クラスの使い方

クラス内の変数や関数を使うためには、クラスをインスタンス化する必要があります。

$User = new User("田中");
$User->age = 22;
echo $User->getInfo(); // "田中さんの年齢は22歳です。"と出力

上記のコードでは、まず”new クラス名()”でインスタンス化をして、クラスを実体化しています。

インスタンス化をした後は、アロー演算子(->)を使って、クラス内の変数や関数を呼び出し、利用することができます。

インスタンス化なしでクラスを使う方法

クラスは便利ですが、インスタンス化をせずに使いたい場合もあると思います。

class User{
    public static $name;
    public static $age;

    public static function getInfo() {
        return self::$name."さんの年齢は".self::$age."歳です。";
    }
}

そのような場合には、上記のようにクラス定義の際に変数や関数にstaticを付けます。

User::$name = "田中";
User::$age = 22;
echo User::getInfo();

この場合、呼び出す際は、インスタンス化が不要で、”::”を使ってダイレクトに呼び出すことができます。