マジックメソッドを巡る旅 その4

※この記事は読者によって投稿されたユーザー投稿です:
  • 編集部の見解や意向と異なる内容の場合があります
  • 編集部は内容について正確性を保証できません
  • 画像が表示されない場合、編集部では対応できません
  • 内容の追加・修正も編集部では対応できません

ヒューマンリソシア株式会社はコラム「マジックメソッドを巡る旅 その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/

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

リテンション
既存顧客との良好な関係を保つこと。それを目的とした施策を、リテンションマーケティ ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]