そういえば…とふと思った事があったので実験。
また後で確実に「同じようなこと」を試すような気がしたので、備忘録。
<?php function hoge(callable $func = NULL) { echo "in hoge\n"; if (NULL !== $func) { $func(); } echo "out hoge\n"; } function foo() { echo "foo\n"; } hoge(); hoge('foo'); //hoge('fooo'); // ちゃんとエラーになる:引数のタイプヒントん所で hoge( create_function('', 'echo "create_func\n";') ); hoge( function() { echo "anony \n"; } );
$ php t.php
in hoge
out hoge
in hoge
foo
out hoge
in hoge
create_func
out hoge
in hoge
anony
out hoge
だ〜よ〜ね〜。
さて…とはいえ、特に無名関数、乱用は厳に慎むべきであると考えられる。
どうだろうなぁ…一端定量的に「2文以内」くらいとかに縛っておくとよいのかしらん?