gallu’s blog

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

ごく軽い実験callback変

そういえば…とふと思った事があったので実験。
また後で確実に「同じようなこと」を試すような気がしたので、備忘録。

<?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文以内」くらいとかに縛っておくとよいのかしらん?