Example #1
0
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Test Page for ShopProduct Class</title>
  </head>
  <body>
    <h3>Test Page for ShopProduct Class</h3>
    <?php 
spl_autoload_register(function ($class) {
    require $class . '.php';
});
// Instantiate some objects
$cd1 = new CdProduct('The Boss', 'Diana', 'Diana Ross', 9.99, '60 minutes');
$book1 = new BookProduct('Black Genius', 'Dick', 'Dick Russell', 15.99, 375);
echo '<p><b>Summary Line</b></p>';
echo $cd1->getSummaryLine() . '<br>';
echo $book1->getSummaryLine() . '<br>';
echo '<p><b>Summary Line (ShopProductWriter)</b></p>';
$writer = new TextProductWriter();
$writer->addProduct($cd1);
$writer->addProduct($book1);
echo nl2br($writer->write());
?>
  </body>
</html>

Example #2
0
            $str .= "\t<product title=\"{$shopProduct->getTitle()}\">\n";
            $str .= "\t\t<summary>\n";
            $str .= "\t\t{$shopProduct->getSummaryLine()}\n";
            $str .= "\t\t</summary>\n";
            $str .= "\t</product>\n";
        }
        $str .= "</products>\n";
        print $str;
    }
}
class TextProductWriter extends ShopProductWriter
{
    public function write()
    {
        $str = "PRODUCTS:\n";
        foreach ($this->products as $shopProduct) {
            $str .= $shopProduct->getSummaryLine() . "\n";
        }
        print $str;
    }
}
$product1 = new BookProduct("My Antonia", "Willa", "Cather", 5.99, 300);
$product2 = new CdProduct("Exile on Coldharbour Lane", "The", "Alabama 3", 10.99, 60.33);
$textwriter = new TextProductWriter();
$textwriter->addProduct($product1);
$textwriter->addProduct($product2);
$textwriter->write();
$xmlwriter = new XmlProductWriter();
$xmlwriter->addProduct($product1);
$xmlwriter->addProduct($product2);
$xmlwriter->write();
Example #3
0
    }
}
class TextProductWriter extends ShopProductWriter
{
    // выводит свойства обьекта в виде текста
    public function write()
    {
        $str = "<br>Товары:<br>";
        foreach ($this->products as $shopProduct) {
            $str .= $shopProduct->getSummaryLine();
            $str .= "<br>";
        }
        print $str;
    }
}
echo "<pre>";
$pdo = new PDO('mysql:host=localhost;dbname=matt', 'root', '');
// инициализируем PDO
$obj = ShopProduct::getInstance(1, $pdo);
// создание нового обьекта через фабрику, достаём из БД по id
$cd = new CDProduct('Harakiri', 'Serj', 'Tankian', 100, 120);
// создание новго обьекта через конструктор
$text = new TextProductWriter();
// новый обьект класса TextProductWriter()
$text->addProduct($cd);
// добавляем в массив обьект $cd
$text->addProduct($obj);
// добавляем в массив обьект $obj
$text->write();
// выводим свойства обьектов из массива
echo "</pre>";