En ese contexto, el or
en esa declaración es una de PHP logical operators que cuando se utiliza de esa manera, se ejecutará la segunda sentencia si y sólo si el primero falla debido a short circuit evaluation.
Dado que fopen
devolvió falso, la instrucción or exit
se ejecuta ya que falló la primera parte.
Para entenderlo mejor, aquí hay una explicación rápida de la evaluación de cortocircuitos.
$x = 5;
$y = 42;
if ($x == 5 or $y == 42) {
echo "x or y is true";
}
En el código anterior, la expresión $y == 42
Nunca se evalúa porque no hay necesidad ya que la primera expresión era cierto.
En ese ejemplo, utilizan la misma lógica para decidir si se evalúa o no la instrucción que llama al exit
.
para responder a sus preguntas:
- Yo no usaría la salida al abrir un archivo fallaron a menos que el programa fue muy específico. Lo mejor que puede hacer es registrar un error y luego devolver el error a la persona que llama para que puedan decidir qué hacer.
- Cuándo utilizar
exit
depende completamente del código que está escribiendo.
- Dada la explicación sobre el cortocircuito, sí son intercambiables en ese sentido. El uso de
or exit
es solo un poco más corto que con if/else
.
Espero que ayude.
Utilizaron 'o exit' porque está viendo un ejemplo para' exit'. – Gumbo
@Gumbo, edité mi pregunta para eliminar la parte no sensible de la pregunta 3 a la que hace referencia. –