Acabo de leer Why to never use 'or die'.Cómo morir con elegancia?
Estoy más confundido que nunca. Estoy validando una forma complicada y voy a muchos niveles anidados de sentencias if y qué no y paso una variable al formulario que se llama $ status que solo puede ser 'nuevo' o 'editar'. Luego, cuando el usuario envía el formulario para ser validado de nuevo, el formulario pasa junto con el valor $ status como un campo oculto ($ _POST). Quiero asegurarme de que el usuario no pueda cambiar esto accidentalmente, así que quiero detectar el error si pasa algo diferente a "nuevo" o "edición". (Aunque me gustaría eliminar por completo la posibilidad de que el usuario que afectan a esta variable en un mundo ideal.)
por lo que pensé que iba a utilizar DIE() en una sentencia if
<nested ifs>
Select ($status){
Case 'edit':
break;
Case 'new':
break;
default:
//using example from article
trigger_error("An error that should not occur has occurred", E_USER_ERROR);
break;
}
</nested ifs>
I don' realmente entiendo cómo esto es más limpio que morir()? Básicamente me gustaría llamar a otra función que muestra al usuario algunas opciones de lo que pueden hacer en este momento para arreglar el error, pero quiero que el código deje de ejecutarse por completo, ya que no quiero una sentencia if más abajo para continuar el análisis cualquier cosa y generando un error cuando encuentra algo que no sea 'nuevo' o 'editar'.
No estoy seguro de lo claro que soy, así que no dude en pedirme que explique los puntos confusos. (o mejor aún, ¿puede ser pirateado un campo de usuario oculto? ¿Cómo prevenir?: P)
+1 Título maravilloso. –