__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.