<?php
require_once 'ReadDataStrategyAbstract.php';
require_once 
'Item.php';

class 
ReadTsvDataStrategy extends ReadDataStrategyAbstract
{
    protected function 
_readData($filename)
    {
        
$fp fopen($filename'r');
        if (!
$fp) {
            throw new 
RuntimeException('File [' $filename '] is not readable.');
        }

        
$dummy fgets($fp1024);

        
$items = array();
        while (
$buffer fgets($fp1024)) {
            list(
$itemId$itemName$itemPrice) = explode("\t"rtrim($buffer));

            
$items[$itemId] = new Item($itemId$itemName$itemPrice);
        }

        
fclose($fp);

        return 
$items;
    }
}