Esempio n. 1
0
<?php

function __autoload($class)
{
    if (file_exists($class . ".php")) {
        include $class . ".php";
    } else {
        include "Size/{$class}.php";
    }
}
function out($in)
{
    echo $in . "</br>";
}
$mocha = new Mocha();
$mocha->setSize(new Small());
out($mocha->cost());
$mocha = new Chocolate($mocha);
out($mocha->cost());
$mocha = new MilkDecorator($mocha);
out($mocha->cost());
Esempio n. 2
0
Десерт: Молочный коктейль, Коррица
Цена: 3.1 USD
*/
// Вкусный пирог с орешками, шоколадом и корицей
$dessert = new Cinnamon(new Chocolate(new Nuts(new Pie())));
echo 'Десерт: ' . $dessert->getDescription();
echo '<br>';
echo 'Цена: ' . $dessert->cost() . ' USD';
echo '<br>';
/*
Вывод:
Десерт: Пирог, Орешки, Шоколад, Коррица
Цена: 9.4 USD
*/
// Вкусный пирог с двойным шоколадом
$dessert = new Chocolate(new Chocolate(new Pie()));
echo 'Десерт: ' . $dessert->getDescription();
echo '<br>';
echo 'Цена: ' . $dessert->cost() . ' USD';
echo '<br>';
/*
Вывод:
Десерт: Пирог, Шоколад, Шоколад
Цена: 9.6 USD
*/
// Мороженное с тройными орешками и двойным шоколадом
$dessert = new Nuts(new Nuts(new Nuts(new Chocolate(new Chocolate(new IceCream())))));
echo 'Десерт: ' . $dessert->getDescription();
echo '<br>';
echo 'Цена: ' . $dessert->cost() . ' USD';
echo '<br>';