Javascriptがこの可能性を提供する方法と同様に、PHPで無名関数を実行するための推奨される方法は何ですか?
Javascript:
(function(){ console.log('Hello!'); })();
PHPで同じことを試みると、パラメータの開き角かっこで構文エラーが発生します。call_user_func()を「誤用」することで、この問題を回避する方法を見つけました。
PHP:
call_user_func(function(){ echo "Hello!"; });
しかし、PHPのドキュメント(更新:ドイツ語版のドキュメント)では、call_user_func()の最初のパラメーターは文字列である必要があると明示的に記載されています...したがって、私のソリューションが正しく機能するかどうかはわかりません(ただし、瞬間)。
このソリューションの背後にある目的は、JavaScriptで同じように実行する理由と同様に、追加された機能のためにグローバル名前空間を汚染しないことです。このスクリプトは、サーバー全体のすべてのスクリプトに自動的に追加され、グローバル名前空間とグローバルスコープで非表示にする必要があります。見えないようにするためのものではありません。名前空間にシンボルを入れないでください。