PHPに演算子オーバーロードを実装してみた。やってみたら思いの外サクッと実装できた。 例えば以下の様なコードが実行できる。オブジェクトが"__add", "__sub", "__mul", "__div" というメソッドを持っていたらそれに対応する演算子がオーバーロードされる。 <?php class Hoge { function __construct($value) { $this->value = $value; } function __add(Hoge $right) { return new Hoge($this->value + $right->value); } function __sub(Hoge $right) { return new Hoge($this->value - $right->value); } } $hoge = new Hoge(1) + new