<?php
class NuggetsPacker {
private $nuggets;
private $cardboard;
public function __construct(NuggetsCollection $nuggets, Carboard $cardboard)
{
$this->nuggets = $nuggets;
$this->cardboard = $carboard;
}
public function pack()
{
return $this->cardboard->pack($nuggets);
}
}
class OrderController
{
public function serve(Collection $burgerWrappers, Collection $nuggetsPacker)
{
$wrappedItems = [];
foreach ($burgerWrappers as $burgerWrapper) {
$wrappedItems[] = $burgerWrapper->wrap();
}
foreach ($nuggetsPacker as $nuggetPacker) {
$wrappedItems[] = $nuggetPacker->pack();
}
return $wrappedItems;
}
}