public static function save(Venda $venda)
 {
     $date = date('Y-m-d');
     $sql = "INSERT INTO venda (data_venda) values ('{$date}')";
     print $sql . "<br>\n";
     self::$conn->query($sql);
     $id = self::getLastId();
     $venda->setId($id);
     foreach ($venda->getItens() as $item) {
         $quantidade = $item[0];
         $produto = $item[1];
         $preco = $produto->preco;
         $sql = "INSERT INTO item_venda (id_venda, id_produto, quantidade, preco)" . " values('{$id}', '{$produto->id}', '{$quantidade}', '{$preco}')";
         print $sql . "<br>\n";
         self::$conn->query($sql);
     }
 }
     * método getItems
     * retorna o array de itens da venda
     */
    public function getItens()
    {
        return $this->itens;
    }
}
// instancia objeto Venda
$venda = new Venda();
// adiciona alguns produtos
$venda->addItem(3, new Produto('Vinho', 10, 15));
// 58.5
$venda->addItem(2, new Produto('Salame', 20, 20));
// 52
$venda->addItem(1, new Produto('Queijo', 30, 10));
// 13
/*
 * rotina para calcular o total
 * de uma venda e diminuir o estoque
 */
$total = 0;
foreach ($venda->getItens() as $item) {
    $quantidade = $item[0];
    $produto = $item[1];
    // soma o total
    $total += $produto->calculaPrecoVenda() * $quantidade;
    // diminui estoque
    $produto->registraVenda($quantidade);
}
echo $total;
 function insert(Venda $venda)
 {
     $id = $venda->getID();
     date_default_timezone_set('America/Sao_Paulo');
     $date = date("Y-m-d");
     // insere a venda no banco de dados
     $sql = "INSERT INTO venda (id, data) values ('{$id}', '{$date}')";
     echo $sql . "<br>\n";
     // percorre os itens vendidos
     foreach ($venda->getItens() as $item) {
         $quantidade = $item[0];
         $produto = $item[1];
         $descricao = $produto->getDescricao();
         // insere os itens da venda no banco de dados
         $sql = "INSERT INTO venda_items (ref_venda, produto, quantidade)" . " values ('{$id}', '{$descricao}', '{$quantidade}')";
         echo $sql . "<br>\n";
     }
 }