PHP Flashcards

(31 cards)

1
Q

¿Qué diferencia hay entre include y require en PHP?

A

include genera un warning si el archivo no existe y el script sigue ejecutándose; require genera un error fatal y detiene el script.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Qué hace include_once y require_once?

A

Evitan incluir el mismo archivo más de una vez en la ejecución para prevenir redefinición de clases o funciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué es un namespace en PHP?

A

Un espacio lógico que agrupa clases y funciones para evitar colisiones de nombres entre archivos o librerías.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

¿Cómo se define y se usa un namespace?

A

Se usa con la palabra clave namespace al inicio del archivo y luego se importa con use al usarlo en otro archivo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es un trait en PHP?

A

Un mecanismo para reutilizar métodos en múltiples clases sin heredar directamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

¿Cómo se define un trait?

A

Con la palabra clave trait seguida del nombre y luego se incluye en la clase con use.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es una interfaz en PHP?

A

Un contrato que define los métodos que una clase debe implementar.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

¿Cuál es la diferencia entre una clase abstracta y una interfaz?

A

Una clase abstracta puede tener implementación parcial y propiedades; una interfaz solo define métodos sin lógica.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué significa PSR en PHP?

A

PHP Standards Recommendations: un conjunto de estándares de codificación definidos por PHP-FIG.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

¿Qué hace PSR-4?

A

Define el estándar de autoloading de clases basado en namespaces y estructura de carpetas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué es una excepción en PHP?

A

Un tipo de error controlado que puede capturarse con try/catch para manejarlo sin detener el script.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

¿Cómo lanzar una excepción personalizada?

A

Usando throw new Exception(‘mensaje’) dentro del código.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Cómo capturar excepciones?

A

Con un bloque try { … } catch (Exception $e) { … }.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

¿Para qué sirve el bloque finally?

A

Para ejecutar código sin importar si hubo o no excepción.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué función se usa para registrar errores en un log?

A

error_log(“mensaje de error”).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

¿Qué hace ini_set(‘display_errors’, 0)?

A

Oculta los errores en pantalla, útil para producción.

17
Q

¿Cómo se pueden definir constantes en PHP?

A

Con define(‘NOMBRE’, valor) o usando const dentro de clases.

18
Q

¿Qué diferencia hay entre == y ===?

A

== compara valores tras conversión de tipo; === compara valor y tipo estrictamente.

19
Q

¿Cuál es la salida del siguiente código: $a="0";$b=0;if($a==$b)echo"1";if($a===$b)echo"2";?

A

Solo imprime “1” porque el primer if compara valores pero el segundo compara tipo y valor.

20
Q

¿Qué hace isset()?

A

Verifica si una variable está definida y no es null.

21
Q

¿Qué hace empty()?

A

Verifica si una variable está vacía (0, “”, null, false, [], etc).

22
Q

¿Qué diferencia hay entre unset() y null?

A

unset elimina completamente la variable; asignar null solo borra su contenido.

23
Q

¿Qué es una variable superglobal?

A

Variable disponible en todo el script como $_POST

24
Q

¿Qué hace la función json_encode?

A

Convierte un arreglo o objeto PHP a formato JSON.

25
¿Qué hace json_decode?
Convierte un JSON a arreglo u objeto PHP.
26
¿Cómo manejarías errores al decodificar JSON?
Usando json_last_error() o json_last_error_msg() después de json_decode.
27
¿Qué es composer?
El gestor de dependencias de PHP que permite instalar librerías y autoloading.
28
¿Cómo se inicializa un proyecto con composer?
Ejecutando `composer init` en el directorio del proyecto.
29
¿Qué diferencia hay entre require y autoload de composer?
require incluye manualmente archivos; autoload de composer carga automáticamente clases según namespaces.
30
¿Qué hace la palabra clave final?
Evita que una clase sea heredada o que un método sea sobreescrito.
31
¿Cómo se declaran propiedades o métodos estáticos?
Usando la palabra clave static y accediendo con self:: o ClassName::.