PHP で無名関数であることを判定する
メモ。
is_callable ってのがそれかなって思ったんですが、
これだと関数名の文字列とか array($obj, 'method') みたいな配列も true になるっぽい。
どうやら PHP の無名関数は
無名関数の実装には Closure クラスを使っています。
ってことらしいので、確実に無名関数を判定したい場合は、こうすればいいみたい。(継承を懸念したけど Closure は final なので大丈夫っぽい)
is_object($obj) && $obj instanceof Closure