《PHP設計模式介紹》第八章 迭代器模式
類中的面向對象編程封裝應用邏輯
屬性來自 SQL 查詢的一組數據就是一個集合
集合不一定是均一的
問題
如何操縱任意的對象集合?
解決方案
使用迭代器模式來提供對集合內容的統一存取
你可能沒有意識到這一點
$test = array(
$output =
do {
$output
} while (next($test));
echo $output; // produces
reset() 函數將迭代重新轉到數組的開始
讓我們創建一個簡單的對象
// PHP
class LendableTestCase extends UnitTestCase {
function TestCheckout() {
$item = new Lendable;
$this
$item
$this
$this
}
function TestCheckin() {
$item = new Lendable;
$item
$item
$this
$this
}
}
要實現這一最初測試的需求
class Lendable {
public $status =
public $borrower =
public function checkout($borrower) {
$this
$this
}
public function checkin() {
$this
$this
}
}
Lendable 是一個好的
class Media extends Lendable {
public $name; public $type; public $year;
public function __construct($name
$this
$this
$this
}
}
要使事情更加簡單
給定單獨的對象來操作
我們開始構建 Library 的測試用例
class LibraryTestCase extends UnitTestCase {
function TestCount() {
$lib = new Library;
$this
}
}
它是滿足這一測試的簡單類
class Library {
function count() {
return
}
}
繼續將一些有趣的功能添加到測試中
class LibraryTestCase extends UnitTestCase {
function TestCount() { /*
function TestAdd() {
$lib = new Library;
$lib
$this
}
}
實現 add() 的簡單方法是建立在 PHP 靈活數組函數的基礎上
class Library {
protected $collection = array();
function count() {
return count($this
}
function add($item) {
$this
}
}
Library 現在是一個集合
From:http://tw.wingwit.com/Article/program/net/201311/13092.html