Example #1
0
    $numeroEntradas = intval($_POST['entradas']);
    // Para cada zona:
    // - Actualizamos el mensaje por el valor recibido de venderEntradas (o éxito o error)
    // - Actualizamos el número de entradas de la zona en la que hayamos vendido.
    // Si se diera el caso de que la zona no está en la lista, guardamos en mensaje un error
    switch ($zona) {
        case 1:
            $resultado["mensaje"] = $zonaPrincipal->venderEntradas($numeroEntradas);
            $resultado["entradasPrincipal"] = $zonaPrincipal->getEntradas();
            break;
        case 2:
            $resultado["mensaje"] = $zonaCompraVenta->venderEntradas($numeroEntradas);
            $resultado["entradasCompraVenta"] = $zonaCompraVenta->getEntradas();
            break;
        case 3:
            $resultado["mensaje"] = $zonaVIP->venderEntradas($numeroEntradas);
            $resultado["entradasVIP"] = $zonaVIP->getEntradas();
            break;
        default:
            $resultado["mensaje"] = "La zona que has seleccionado no existe.";
            break;
    }
    // Actualizamos las entradas en la sesión (para mantener los datos)
    $_SESSION['entradas'] = [$zonaPrincipal->getEntradas(), $zonaCompraVenta->getEntradas(), $zonaVIP->getEntradas()];
}
// Función para cambiar las variables de la vista por sus valores
// IMPORTANTE: si una variable tiene el '&' delante no se clona dentro de la función sino que usa la existente.
// Por defecto todos los parámetros de las funciones son clones de los originales
function actualizarVista(&$vista, $array)
{
    // Por cada índice de $resultado cambiamos el contenido de la variable de $vista