javascriptでは、オブジェクトの名前空間の問題により、無名関数を作ったうえで、作成した無名関数を即時実行したい場合が多くあります。
phpで同様の事を行いたい場合、どのような記述を行えばよいでしょうか?
php7.0以降の場合は、javascriptと同様に下記のコードで実行することもできます
<?php
(function() {
echo 'hello world';
})();
php5.xのバージョンしか使えない場合は、上記のコードほどシンプルではありませんが、下記のコードで無名関数を即時実行可能です。
<?php
call_user_func(function() {
echo 'hello world';
});
上記のコードはphp7.0以降でも動作するため、古いバージョンのphpサポートも必要なライブラリを作っている場合などは、後者の方が良いかもしれません。
関連記事
コメントを残す