PHPのマジックメソッド

__construct(), __destruct(), __call(), __callStatic(), __get(), __set(), __isset(), __unset(), __sleep(), __wakeup(), __toString(), __invoke(), __set_state(), __clone() および __debugInfo() があるみたい。

https://www.php.net/manual/ja/language.oop5.magic.php

ここでは、__toString()__invoke() の使い方を簡単に説明する。

__toString()

クラスが文字列に変換される際の動作を決めるもの。

__invoke()

オブジェクトを関数としてコールされる際に呼び出されるもの。

<?php
class TestClass
{
    public function __toString()
    {
      return 'toString() is called.';
    }

    public function __invoke()
    {
      return 'invoke() is called.';
    }
}

$class = new TestClass();
echo $class;
echo $class();

出力結果

toString() is called.invoke() is called.