Ejemplo n.º 1
0
    function getSummaryLine()
    {
        $base = parent::getSummaryLine();
        $base .= ": page count - {$this->numPages}";
        return $base;
    }
}
class ShopProductWriter
{
    private $products = array();
    public function addProduct(ShopProduct $shopProduct)
    {
        $this->products[] = $shopProduct;
    }
    public function write()
    {
        $str = "";
        foreach ($this->products as $shopProduct) {
            $str .= "{$shopProduct->title}: ";
            $str .= $shopProduct->getProducer();
            $str .= " ({$shopProduct->getPrice()})\n";
        }
        print $str;
    }
}
$product1 = new CdProduct("cd1", "bob", "bobbleson", 4, 50);
$product2 = new BookProduct("book1", "harry", "harrelson", 4, 30);
$writer = new ShopProductWriter();
$writer->addProduct($product1);
$writer->addProduct($product2);
$writer->write();
 */
class ShopProductWriter
{
    private $products = array();
    public function addProduct(ShopProduct $shopProduct)
    {
        $this->products[] = $shopProduct;
        print_r($products[0]);
    }
    public function write()
    {
        $str = "";
        foreach ($this->products as $shopProduct) {
            $str .= "{$shopProduct->title}:";
            $str .= $shopProduct->getProducer();
            $str .= "({$shopProduct->getPrice()})\n";
        }
        print $str;
    }
}
/*
 * Executable code
 */
$dsn = "sqlite:items.db";
$pdo = new PDO($dsn, null, null);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$obj = ShopProduct::getInstance(1, $pdo);
var_dump($obj);
$writer = new ShopProductWriter();
$writer->addProduct($obj);
$writer->write();