<!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>
$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();
} } 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>";