<?php

class Cesta {
	private $itens;
	public function __construct(array $itens) {
		$this->itens = $itens;
	}
	public function show() {
		echo "Minha cesta:\n";
		foreach ($this->itens as $item) {
			echo $item."\n";
		}
	}
}

class CestaBuilder {
	private $itens = array();
	static public function create() {
		return new static;
	}
	public function adicionar($item) {
		$this->itens[] = $item;
		return $this;
	}
	public function build() {
		return new Cesta($this->itens);
	}
}

$minha_cesta = CestaBuilder::create()
	->adicionar("Pão")
	->adicionar("Queijo")
	->adicionar("Mortadela")
	->build();
$minha_cesta->show();
