- ベストアンサー
create_functionについての質問
- WordPressのテーマで、create_functionを使わずに別の関数を使う方法について質問です。
- 質問文章のコードを修正して、create_functionを使用せずに関数を定義する方法を教えてください。
- 公式の指示に従って、create_functionを使用せずにコードを修正する方法について教えていただけますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
function hogehoge($value) { ____return "The value is {$value}."; } を無名関数(クロージャ)で表現すると、 function ($value) { ____return "The value is {$value}."; } になります。 これ自体は式なので、 $hogehoge = function ($value) { ____return "The value is {$value}."; }; として変数に代入したり、 変数から使うときは $hogehoge('test'); というようにします。 提示例のように直接 add_filter('the_generator', function () { return ''; }); としてもいいし、分かりにくければ $func = function () { return ''; }; add_filter('the_generator', $func); でも構いません。 なお、create_function関数はPHP5.3以降の環境では絶対に使ってはいけません。 メモリリーク問題を抱えた関数であることで非常に有名です。 PHP5.2以前で使うにしても、こういった使い方をするべきです。 http://bloggdgd.blog28.fc2.com/blog-entry-280.html 無名関数に慣れるとcreate_functionとかゴミすぎて使う気失せますよ・・・(笑
その他の回答 (1)
add_filter('the_generator', function () { return ""; } ); 普通の関数定義から関数名だけ抜けばいいだけ。 http://php.net/manual/ja/functions.anonymous.php
補足
勉強不足で申し訳ありませんが、 「普通の関数定義から関数名を抜く」というのは、 どういう事でしょうか? まだPHPが勉強不足で経験も浅く… もしよろしければ、もう一度回答をお願いいたします
お礼
hogehoge頂きました!!ありがとうございます。 >>無名関数に慣れるとcreate_functionとかゴミすぎて使う気失せますよ HAHAHAHA。ってソレ本当ですか!まだまだ私勉強不足ですなぁ…。 にしても態々コードまでご丁寧に書いて頂きましてありがとうございます。 大変参考になりました。これだからPHPは止められない! 本当に回答ありがとうございました。心より感謝申し上げます