1. TOPTOP
  2. Webサービス
  3. PHP

PHPの可変関数(ラッパー関数)について

|

ecoteki-image

お友だちの方とWordPressのフックに関する知識について、教えてもらっていたら「ラッパー」という単語が出てきました。なんとなく聞いたことがある単語ですが、詳しい意味はよく分かっていませんでした。そこで今回は「ラッパー」について調べたことを記事にしてみます。

可変関数とは

Googleで「PHP、ラッパー」とググると、検索の最上位にPHP公式ドキュメントの可変関数(新しいタブで開く)の項目がヒットします。その可変関数の概要はこのように説明されています。

これにより、変数名の後に括弧が付いている場合、その値が何であろうと PHPは、同名の関数を探し実行を試みます。 この機能は、コールバック、関数テーブル等を実装するために使用可能です。

可変関数の具体例

概要を読んでいるだけでは、分かったような分からないような…。そこで公式ドキュメントの例文を参考にして、以下のコードを作成してみました。

<?php
function myFunc( $arg = "" ) {
    echo "myFunc関数の引数は、'$arg' です ";
}

$func = 'myFunc';

$func('test');

2行目にmyFunc関数が定義されています。その関数名を$funcという可変変数に代入しています。8行目で可変変数の後に丸カッコをつけて、引数を渡すと結果が返ってきます。

myFunc関数の引数は、'test' です

なんとなーくですがJavaScriptで、こんな感じの構文をみたことがあります。オブジェクトのメソッド(新しいタブで開く)とか。ただでも異なるプログラミング言語について、同じような解釈はしてはいけないと教わったことがありますので、それぞれ別物として捉えるようにします。

【参考サイト】