※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。 また、編集部はこの内容について正確性を保証できません。
ヒューマンリソシア株式会社はコラム「マジックメソッドを巡る旅 その4」を公開しました。 マジックメソッドの長い旅ですが、今回は、比較的「限定的な状況」で使われる、 3つのマジックメソッドについて解説をしていきたいと思います。 まずは__invoke()のご紹介です。 早速ですが、サンプルコードから。 class hoge { public function __invoke() { echo “call invoke\n”; } } // $obj = new hoge(); $obj(); インスタンスに()を付けて関数のように呼ぶ時に、マジックメソッド__invoke()があると、__invoke()が callされます。 はいぶっちゃけますと「無名関数」のあのノリです。 引数については、当然といえば当然なのですが、通常の関数やメソッドと同じように 「引数ありも、デフォルト引数も、戻り値も」ありありです。 簡単に、サンプルを書いておきましょう。 class hoge { public function __invoke($s = ‘no name’) { return ‘your name is ‘ . $s ; } } // $obj = new hoge(); echo $obj(), “\n”; echo $obj(‘hogera mugera’), “\n”; 「どこで使うの?」と聞かれると幾分困るのですが(苦笑 「こんな機能がある」というのを知っていると「ひょんなところで役に立つ」のが上級の知識なので、 使い方について、記しておきます。 お次は__set_state()ですね。こちらはvar_exportという関数に寄り添っているものなのですが…まずは、 その前提であるvar_exportを見ていきましょう。 この続きは以下をご覧くださいhttp://resocia.jp/column/1774/

人気記事トップ10

人気記事ランキングをもっと見る