2
I have a method that adds product to cart/Session. But I think I’m using a lot of code for this and would like to do it in a better or more simplified way. Any hint?
public function addProduto($codigo, $quantidade, $preco) {
    if (!isset($_SESSION['carrinho']['produto'])) {
        $_SESSION['carrinho']['produto'][0] = array('codigo' => $codigo, 'quantidade' => $quantidade, 'preco' => $preco);
    } else {
        $codDuplicado = false;
        foreach ($_SESSION['carrinho']['produto'] as $key => $val) {
            if ($val['codigo'] == $codigo) {
                $codDuplicado = true;
                $_SESSION['carrinho']['produto'][$key]['quantidade'] += $quantidade;
            }
        }
        if (!$codDuplicado) {
            $indice = count($_SESSION['carrinho']['produto']);
            $_SESSION['carrinho']['produto'][$indice] = array('codigo' => $codigo, 'quantidade' => $quantidade, 'preco' => $preco);
        }
    }
}