logo

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

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

###

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

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

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

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

リンク
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/
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。