count($obj);
ってサポートするべきなのだろうか、
とRubyのEnumerableをtraitとmix-inで実装してみるときに思ったのである。
<?php trait Enumerable { public function count() { return 2; } public function all() {} // 略 abstract public function each(); } class Test { use Enumerable; public function each() {} } class Test2 implements Countable { use Enumerable; public function each() {} } $test = new Test; echo count($test) . PHP_EOL; // => 1 $test2 = new Test2; echo count($test2) . PHP_EOL; // => 2
なお、実際に実装はしてない模様(ぇ