<?php
require_once 'ItemDaoInterface.php';
require_once 'Item.php';
class DbItemDao implements ItemDaoInterface
{
private $_items;
public function __construct()
{
$fp = fopen('item_data.csv', 'r');
if (!$fp) {
throw new RuntimeException('File [item_datas.csv] is not readable.');
}
$dummy = fgets($fp, 1024);
$this->_items = array();
while ($buffer = fgets($fp, 1024)) {
list($itemId, $itemName, $itemPrice) = explode(',', rtrim($buffer));
$this->_items[$itemId] = new Item($itemId, $itemName, $itemPrice);
}
fclose($fp);
}
public function findById($itemId)
{
if (array_key_exists($itemId, $this->_items)) {
return $this->_items[$itemId];
} else {
return null;
}
}
}