質問: WordPressでプラグイン依存の関数を使うとき、`function_exists`を使いますよね。 そのときに、普通にifを書くのが面倒だと感じたのですが、下記のような感じで楽に使うことはできませんでしょうか? ↓普通にifを書く ``` if ( function_exists( 'new_my_func1' ) ) { new_my_func1(); } if ( function_exists( 'new_my_func2' ) ) { new_my_func2(); } ``` ↓楽かなと思う書き方(の案) ``` function ex( $func ){ if ( function_exists( $func ) ) { $func; } } ex( new_my_func1() ); ex( new_my_func2() ); ``` しかしこれでは引数をどうするんだという話もあってダメなのですが、このようなイメージで巧い方法がございましたら教えてください。宜しくお願い致します。
回答: ``` ex( new_my_func1() ); ``` 引数もそうですが、こう書いた場合、new_my_func1の実行結果をexの引数として実行する と解釈できます。そのため、お望み結果を得られません。 CHERRYさんのいう通り、第一パラメーラに関数名(文字列として)を与え、第二引数以降に可変変数を利用し call_user_func_arrayで処理すればできなくはないと思いますが 見た目は概ね以下のようになります ``` ex('new_my_func1', $arg1, $arg2) ``` が、変数スコープとか変わると思うので結果微妙だと思います