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

※この記事は読者によって投稿されたユーザー投稿のため、編集部の見解や意向と異なる場合があります。また、編集部はこの内容について正確性を保証できません。

ヒューマンリソシア株式会社はコラム「マジックメソッドを巡る旅 その12」を公開しました。

__call()の実例を見てみましょう、の、続きです。
前回に引き続き実際に使った事があるのと、割としっくりくる実例で「モックオブジェクトの作成に使う」
というものがあります。なお「モックオブジェクト」という単語については適宜ググってください。

さて。
個人的に実装(正確には、インタフェース)の美しさで「ずば抜けている」と思っているものに、
Phake というものがございます。所謂「モックフレームワーク」って類いのものでございます。

この話の流れで「PDF作成モジュール」だったりするとびっくりですね。
他のものでも基本的に同じようなもんだと思われるのですが、
せっかくなら「好みの」サンプルのほうが気分が上がりますので、
Phakeで簡単に確認をしていきましょう。

簡単にサンプル(使い方 / 使われ方)を見てみましょう。
公式の所からのサンプルに、ちょっとだけ手を加えて読みやすくしたものです。

http://phake.readthedocs.org/en/latest/method-stubbing.html
interface Item
{
/**
* @return money
*/
public function getPrice();
}
//
$item1 = Phake::mock(‘Item’);
$item2 = Phake::mock(‘Item’);
$item3 = Phake::mock(‘Item’);
//
Phake::when($item1)->getPrice()->thenReturn(100);
Phake::when($item2)->getPrice()->thenReturn(200);
Phake::when($item3)->getPrice()->thenReturn(300);
//
$this->shoppingCart = new ShoppingCart();
$this->shoppingCart->addItem($item1);
$this->shoppingCart->addItem($item2);
$this->shoppingCart->addItem($item3);

この続きは以下をご覧ください
http://resocia.jp/column/2144/

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

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

今日の用語

インデックス
検索エンジンがWebページをデータベースに保存しているデータベース。データベース ...→用語集へ

インフォメーション

RSSフィード


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