DWES
![]() |
![]() |
![]() |
Título del Test:![]() DWES Descripción: Exámen de Servidor |




Comentarios |
---|
NO HAY REGISTROS |
¿En qué lugar se ejecuta el código PHP?. Servidor. Cliente (ordenador propio). En ambos. ¿Podemos ver una página PHP sin que intervenga un servidor web?. No, necesita un servidor para ejecutarse. Sí, si el archivo se abre como texto. Sí, pero solo en navegadores compatibles. ¿Cuál es la función principal del W3C?. a) Desarrollar software de servidor. b) Desarrollar tecnologías y estándares web como HTML y CSS. c) Desarrollar software de servidor. PHP se ejecuta en el servidor web de forma similar a. VBScript. Perl y Python. JavaScript. El lenguaje básico para la elaboración de páginas web es: HTTP. HTML. HTTPS. En el modelo de arquitectura en tres capas, ¿en qué capa se encuentra la lógica que controla la presentación al usuario?. Presentación. Datos. Negocio. En un modelo en tres capas bien estructurado, ¿qué capas no deben comunicarse directamente entre sí?. a) La capa de datos y la de negocio. b) La capa de presentación y la de negocio. c) La capa de datos y la de presentación. XAMPP incluye: a) Servidor web y PHP. b) Servidor web, PHP y base datos. c) Servidor de bases de datos y PHP. ¿Cuál será el valor y el tipo de $b tras ejecutar este código?. a) 12 y de tipo cadena. b) 12 y de tipo entero. c) Null, no se puede sumar un número a una cadena. ¿Cuándo se ejecutan las sentencias del siguiente bloque if?. Cuando la variable "variable" no este definida o tenga un valor nulo. Cuandolavariable "variable" esté definida o tenga un valor no nulo. Cuando la variable "$variable" esté definida y tenga un valor no nulo. ¿Cuál de las siguientes afirmaciones es correcta sobre NULL?. a) Representa una variable sin valor. b) Se escribe en mayúsculas por convención, pero no es obligatorio. c) Ambas respuestas son correctas. ¿Cuál de las siguientes palabras clave termina el script actual?. a) break. b) continue. c) exit. ¿Se puede usar la palabra clave return fuera de una función en PHP?. a) No, solo es válida dentro de funciones. b) Sí, aunque no es recomendable. c) Solo en clases o módulos definidos por el usuario. ¿Cuál de los siguientes arrays representa un array con todas sus claves numéricas ordenadas de uno en uno comenzando en 0?. a) Arrays escalares. b) Arrays asociativos. c) Arrays multidimensionales. ¿Cuál de los siguientes arrays representa un array con claves de tipo cadena?. a) Arrays escalares. b) Arrays asociativos. c) Arrays multidimensionales. ¿Cuál de los siguientes arrays representa un array con múltiples arrays?. a) Arrays escalares. b) Arrays asociativos. c) Arrays multidimensionales. ¿Cuál de los siguientes operadores se utiliza para concatenar dos cadenas?. a) . b) +. c) Ambos. ¿Qué función genera un número aleatorio en PHP?. a) srand(). b) rand(). c) random(). ¿Cuál de las siguientes funciones ordena un array en orden inverso?. a) rsort(). b) sort(). c) asort(). ¿Cuál de las siguientes funciones se usa para declarar un array en PHP?. a) array(). b) array_change_key_case(). c) array_chunk(). ¿Qué función devuelve un array con los elementos en orden inverso?. a) array_search(). b) array_shift(). c) array_reverse(). ¿Cuál de las siguientes funciones comprueba si existe un valor especificado en un array?. a) extract(). b) in_array(). c) key(). ¿Se pueden asignar valores predeterminados a los argumentos de una función?. a) Verdadero. b) Falso. c) Verdadero, pero solo si son cadenas. ¿Es obligatorio que los scripts incluidos en otros scripts usen la extensión ".inc". a) No, pero es una convención usada para distinguirlos. b) Sí, PHP no permite otras extensiones. c) Sí, pero solo si se incluyen una vez con include_once(). En PHP se pueden usar comillas simples ( ' ' ) y comillas dobles ( " " ) para cadenas: a) Falso. b) Verdadero. c) Verdadero, pero las simples solo para especificar atributos. ¿Qué operador se utiliza para comprobar si dos variables son iguales y contienen el mismo tipo de datos?. a) ===. b) =. c) ==. ¿Cuál sería la salida del siguiente código?. a) Error por contenido no numérico. b) 0. c) 6. ¿Cuál sería la salida del siguiente código?. a) 15. b) 5 + 10. c) $x + $y. ¿Cuál sería la salida del siguiente código?. a) 1. b) Error. c) 1234. ¿Cuál sería la salida del siguiente código?. a) Array ( [0] => apple [1] => mango [2] => peach ). b) Array ( [0] => apple [1] => mango ). c) Array ( [0] => peach [1] => pear [2] => orange ). ¿Cuál sería la salida del siguiente código?. a) clueget. b) get. c) Falso. ¿Cuál sería la salida del siguiente código?. a) 10. b) 11. c) Warning y 1. ¿Cuál sería la salida del siguiente código?. a) "25 students". b) Warning y "25 students". c) Warning y 35. ¿Cuál sería la salida del siguiente código?. a) 5 === 5. b) Error. c) 1. ¿Cuál sería la salida del siguiente código?. a) Solo imprime la primera palabra. b) Thiswasabadidea. c) Error de sintaxis. Si hacemos a = 1¿cual de las siguientes condiciones es verdadera?. ∗a)"1" === a;. b) $a++ == 2;`. c) Ambas son falsas. Al utilizar una variable no inicializada: a) Se genera un error de tipo E_NOTICE y la ejecución del script se detiene. b) Se genera un error de tipo E_NOTICE y la ejecución del script continua. c) No se genera ningún error. La salida de estas líneas de código es: a) 2 2 2 2. b) 4 4 4 4. c) Hay un error. En PHP, los argumentos: a) Se pasan por referencia. b) Se pasan por valor. c) Se pueden pasar por referencia o por valor. Sobre los bloques de PHP: a) Se deben cerrar siempre. b) Si el fichero acaba con un bloque de PHP, no se ha de cerrar. c) Si el fichero contiene solo bloques de PHP, el último puede no cerrarse. Dos arrays son iguales (==) si: a) Todos los elementos tienen el mismo valor y están en el mismo orden. b) Todos los elementos son iguales en clave y valor y además están en el mismo orden. c) Todos los elementos son iguales en clave y valor. Dos arrays son idénticos (===) si: a) Todos los elementos tienen el mismo valor y están en el mismo orden. b) Todos los elementos son iguales en clave y valor y además están en el mismo orden. c) Todos los elementos son iguales en clave y valor. ¿Cuál de las siguientes variables se puede utilizar para obtener información enviada a través del método get/post en PHP?. a) $_REQUEST. b) $_SERVER. c) $_SESSION. ¿Cuál de las siguientes claves proporciona acceso al archivo subido en el directorio temporal del servidor web?. a) $_FILES['file']['tmp_name']. b) $_FILES['file']['name']. c) $_FILES['file']['size']. ¿Cuál de las siguientes claves proporciona el nombre real del archivo subido?. a) $_FILES['file']['tmp_name']. b) $_FILES['file']['name']. c) $_FILES['file']['size']. ¿Cuál de las siguientes variables se utiliza para guardar el nombre del script PHP?. a) $_PHP_SELF. b) $PHP_SELF. c) Ninguna de las anteriores. ¿Cuál de las siguientes funciones se utiliza para redirigir a una página?. a) redirect("…"). b) header("Location: …"). c) exit("URL"). ¿Cuál de las siguientes opciones se utiliza para eliminar una cookie?. a) setcookie(). b) $_COOKIE. c) destroycookie(). ¿Qué variable superglobal contiene información sobre encabezados, rutas y ubicaciones de scripts?. a) $_SERVER. b) $_SESSION. c) $GLOBALS. Los parámetros que se pasan por la URL están disponibles en: a) $_GET. b) $_POST. c) $_SESSION. En $_FILES['fichero']['name'] se almacena: a) El nombre en el cliente del archivo que se está subiendo. b) El nombre temporal en el servidor del archivo que se está subiendo. c) El nombre en el que se almacenará el fichero en el servidor. ¿Cuál de estos elementos no se envía en las cabeceras HTTP?. a) Redirecciones a otras páginas. b) Datos del formulario enviados con el método POST. c) Cookies. El cliente envía al servidor: a) Todas las cookies que tiene. b) Todas las cookies que tiene de ese servidor. c) Las cookies que el servidor le solicita. ¿Qué diferencia existe entre empty() e is_null() al validar datos de formulario recibidos por $_GET?. a) empty() evalúa únicamente variables numéricas; is_null() evalúa cualquier tipo. b) empty() devuelve TRUE si el valor está vacío o no existe; is_null() solo si no ha sido definido. c) No hay ninguna diferencia funcional. En validación de formularios, ¿qué condición asegura que se ha accedido por método POST?. a) isset($_POST). b) $_POST != null. c) $_SERVER["REQUEST_METHOD"] == "POST". ¿Qué ocurre si se llama a header("Location: ...") después de imprimir contenido HTML?. a) PHP convierte la redirección en una instrucción meta refresh. b) Se lanza un error porque las cabeceras ya fueron enviadas. c) El navegador ignora la redirección y continúa la ejecución. ¿Qué directiva HTML es imprescindible para permitir la subida de archivos en un formulario?. a) type="file" en el botón de envío. b) method="GET". c) enctype="multipart/form-data". ¿Qué devuelve la función move_uploaded_file() en PHP?. a) Nada, solo mueve el archivo. b) Un valor booleano que indica si la operación fue exitosa. c) El nuevo nombre asignado automáticamente al archivo subido. ¿Cuál de las siguientes afirmaciones sobre setcookie() es verdadera?. a) No puede usarse con rutas distintas a la raíz del servidor. b) Debe ejecutarse antes de que se haya enviado cualquier salida al navegador. c) Siempre lanza un error si el usuario rechaza las cookies. ¿Qué parámetro permite limitar el acceso de una cookie a conexiones HTTPS?. httponly. b) secure. c) path. ¿Qué función se utiliza para iniciar o retomar una sesión existente en PHP?. a) session_start(). b) session_init(). c) start_session(). ¿Qué representa la variable $_SESSION en PHP?. a) Una cookie del lado del cliente. b) Un archivo de configuración para la sesión. c) Un array superglobal que almacena datos de sesión del usuario. En el siguiente código, ¿qué ocurre si $_SESSION['usuario'] no está definido?. a) El script se detiene automáticamente. b) El usuario es redirigido a la página de login. c) PHP lanza una excepción. ¿Qué hace exactamente session_destroy() en PHP?. a) Cierra el navegador del usuario. b) Elimina todos los datos de sesión del servidor. c) Borra las cookies de todas las sesiones activas. ¿Qué sucede si intentamos abrir un archivo inexistente en modo r ?. a) PHP crea un archivo vacío automáticamente. b) fopen() devuelve FALSE y puede emitir un Warning. c) Se lanza una excepción fatal que detiene el script. ¿Qué representa el siguiente formato "%'.09d" en una llamada a sprintf() ?. a) Un número decimal con signo precedido por 9 ceros. b) Un número justificado a la derecha con ceros como relleno hasta ocupar 9 dígitos. c) Un número de 9 decimales de precisión. ¿Cuál de estas funciones escribe texto en un archivo sin necesidad de fopen() ?. a) fprintf(). b) file_put_contents(). c) fputs(). ¿Qué función posiciona el puntero del archivo al principio del mismo?. a) fseek($f, 0). b) rewind($f). c) reset($f). ¿Cuál de las siguientes funciones permite aplicar formato al leer datos directamente desde un archivo?. a) fscanf(). b) fread_format(). c) parsefile(). ¿Qué ocurre si usamos fprintf($f, "%04d-%02d-%02d", "1745", "1", "3") sin añadir un salto de línea?. a) El archivo queda ilegible para PHP. b) PHP lanza una advertencia por formato incompleto. c) El puntero queda al final de la línea, sin crear una nueva. ¿Qué ventaja ofrece el uso de LOCK_EX como tercer parámetro en file_put_contents() ?. a) Permite que el contenido se guarde encriptado. b) Garantiza el acceso exclusivo al archivo durante la escritura. c) Evita que se sobreescriba el contenido original. ¿Qué ocurrirá si el siguiente código falla al establecer conexión? $bd = new PDO("mysql:dbname=empresa;host=127.0.0.1", "root", "");. a) Devuelve false y el script sigue ejecutándose. b) Lanza una excepción PDOException. c) Se detiene el script silenciosamente. ¿Cuál es el propósito de PDO::ATTR_PERSISTENT en esta conexión? $bd = new PDO($cadena, $usuario, $clave, array(PDO::ATTR_PERSISTENT => true));. a) Cierra la conexión automáticamente tras cada consulta. b) Mantiene la conexión abierta para reutilizarla en futuras peticiones. c) Crea una nueva base de datos si no existe. ¿Qué ocurre al ejecutar el siguiente bloque? $sentencia = $bd->prepare("SELECT * FROM usuarios WHERE rol = ?"); $sentencia->execute([1]);. a) Ejecuta una consulta con el valor 1 sustituyendo el ? . b) Ejecuta una sentencia preparada con parámetros posicionales. c) Da error si el array tiene un solo valor. ¿Qué hace este bloque? $bd->beginTransaction(); $bd->query("DELETE FROM usuarios WHERE rol = 1"); $bd->commit();. a) Borra todos los usuarios de la tabla. b) Ejecuta la sentencia como una transacción. c) Desactiva la base de datos temporalmente. ¿Qué función cumple este código tras insertar un registro? echo $bd->lastInsertId();. a) Devuelve el ID del último SELECT ejecutado. b) Devuelve el valor autoincrementado del último INSERT. c) Devuelve el número de filas afectadas. ¿Qué ocurre si la segunda consulta falla dentro de esta transacción? $bd->beginTransaction(); $bd->query("INSERT INTO usuarios(nombre) VALUES('Luis')"); $bd->query("INSERT INTO usuarios(nombre) VALUES('Luis')"); $bd->commit();. a) Se insertan ambas filas. b) Solo se ejecuta la segunda. c) Se lanza una excepción y debe hacerse un rollback. ¿Qué mostrará este código si la cookie "visitas" aún no existe?. a) Error por acceso a índice no definido. b) Muestra el mensaje de bienvenida y crea la cookie. c) Muestra el número 1 directamente. ¿Qué hace el siguiente código? setcookie("idioma", "es", time() + 3600, "/", "", true, true);. a) Crea una cookie solo accesible desde JavaScript. b) La cookie será accesible en cualquier subdominio. c) La cookie solo se transmitirá por HTTPS y no será accesible por JavaScript. ¿Qué muestra este código si "idioma" fue guardado como "en" en un formulario que se envía al servidor?. a) Siempre imprime "Bienvenido". b) Imprime "Welcome" si la cookie tiene valor "en". c) Da error por comparación de cadenas. ¿Qué ocurre si setcookie() se ejecuta después de un echo ? echo "Hola"; setcookie("usuario", "Ana", time() + 3600);. a) La cookie se guarda normalmente. b) La cookie no se crea porque ya se envió salida al navegador. c) PHP crea un encabezado adicional para forzarla. ¿Qué mostrará este código si accedemos a: urlvalida?nombre ?. a) "Hola". b) Error de tipo undefined. c) "Error, falta el parámetro nombre". ¿Qué efecto tiene el atributo enctype="multipart/form-data" ? <form action="procesar_subida.php" method="post" enctype="multipart/form-data">. a) Indica que se usarán múltiples parámetros POST. b) Permite enviar archivos a través del formulario. c) Permite enviar arrays de objetos JSON. ¿Qué valor mostrará este formulario si se ha enviado el campo nombre? <input type="text" name="nombre" value="<?php if(isset($_POST['nombre'])) echo $_POST['nombre']; ?. a) Siempre muestra el texto por defecto. b) No muestra nada. c) Muestra el valor anterior enviado por el usuario. ¿Qué ocurre si se escribe algo de salida antes de este fragmento? header("Location: otra_pagina.php");. a) Se redirige correctamente. b) Se lanza un error: headers already sent. c) PHP ignora el encabezado y continúa la ejecución. ¿Qué ocurre al subir un fichero con este código si supera 256 KB?. a) Se guarda el fichero en el directorio temporal. b) Se muestra el mensaje de error y no se mueve el fichero. c) PHP lanza una excepción. ¿Qué hace esta línea? $res = move_uploaded_file($_FILES["fichero"]["tmp_name"], "subidos/" . $_FILES["fichero"]["name"]). a) Copia el fichero a otra carpeta y elimina el original. b) Mueve el fichero subido desde el directorio temporal a la carpeta subidos/. c) Crea una cookie con el nombre del archivo. ¿Qué efecto tiene este fragmento en una validación?. a) Obliga a rellenar el campo antes de cargar la página. b) Muestra un mensaje si el campo nombre está vacío al enviarse el formulario. c) Lanza un error si no existe $_POST. ¿Cuál es el efecto de este bloque en un formulario con checkboxes?. a) Marca el checkbox DWES en la primera carga. b) Marca el checkbox si fue seleccionado previamente. c) Elimina la opción si no está seleccionada. ¿Cuál es el formato más habitual de los datos devueltos por el servidor en aplicaciones AJAX modernas?. a) XML. b) JSON. c) CSV. ¿Por qué razón XMLHttpRequest sigue siendo utilizado a pesar de la existencia de fetch() ?. a) Porque es más legible. b) Porque permite controlar el progreso de la subida de archivos. c) Porque fetch() requiere servidores especiales. ¿Qué parte de la arquitectura MVC contiene la lógica encargada de modificar el DOM desde el cliente?. a) Controlador. b) Vista. c) Modelo. ¿Por qué es importante definir correctamente el tipo de datos en los atributos de una entidad?. a) Doctrine convierte automáticamente todo a texto. b) Para que Doctrine genere correctamente el esquema de la base de datos. c) Porque Symfony usa los tipos para generar controladores. ¿Qué hace Doctrine al detectar un campo marcado como unique=true?. a) Genera una restricción de unicidad en la base de datos. b) Ignora los duplicados al persistir. c) Muestra un aviso en consola pero no aplica cambios. ¿Cuál es el propósito del constructor en una entidad Doctrine con relaciones?. a) Definir la conexión a la base de datos. b) Inicializar colecciones como ArrayCollection para evitar errores. c) Registrar eventos de Doctrine automáticamente. ¿Qué ocurre si una entidad contiene un atributo no mapeado por Doctrine?. a) Doctrine lo ignora sin consecuencias. b) Doctrine ignora el atributo pero puede generar advertencias si se usa en persistencia. c) Symfony lanza una excepción en tiempo de ejecución. ¿Qué anotación indica que un atributo es clave primaria en Doctrine?. a) @PrimaryKey. b) @ORM\Id. c) @KeyColumn. ¿Cuál es una ventaja de usar atributos nativos de PHP 8 en lugar de anotaciones en comentarios para metadatos?. a) Permite usar funciones anónimas en la definición. b) Elimina la necesidad de dependencias externas como doctrine/annotations. c) Hace que el código se ejecute más rápido por defecto. ¿Qué hace el comando php bin/console make:entity ?. a) Crea automáticamente migraciones a partir de la base de datos. b) Genera una clase entidad solicitando atributos y tipos por consola. c) Actualiza la configuración de Symfony. ¿Qué hace el método up() en una clase de migración?. a) Define las operaciones necesarias para aplicar una migración. b) Invoca automáticamente el EntityManager. c) Limpia los cambios realizados previamente. ¿Qué ocurre si modificas una entidad y no generas su correspondiente migración?. a) Symfony deshabilita el bundle Doctrine. b) Los cambios no se reflejan en la base de datos. c) Se aplican automáticamente con el servidor local. ¿Cuál es el tipo correcto para representar una relación Muchos a Uno en PHP con Doctrine?. a) array. b) ?Clase (nullable objeto de la clase relacionada). c) int (clave foránea). ¿Qué se necesita para que una relación bidireccional funcione correctamente en Doctrine?. a) Que ambas entidades usen @JoinTable . b) Que una entidad herede de la otra. c) Que cada entidad tenga un atributo mapeado y referenciado por la otra. ¿Qué representa la anotación @ORM\GeneratedValue ?. a) Que el campo es obligatorio. b) Que el campo puede contener valores nulos. c) Que su valor será generado automáticamente (autoincremental). ¿Qué tipo de datos usa setParameter() en las consultas DQL?. a) Parámetros solo posicionales. b) Parámetros nombrados con : seguidos de un identificador. c) Variables predefinidas de PHP. ¿Qué comando permite ejecutar una migración específica?. a) doctrine:migrations:rollback. b) doctrine:migrations:launch. c) doctrine:migrations:execute --up 'NombreClase'. ¿Por qué se produce un error de serialización al convertir entidades con relaciones en JSON?. a) Porque Doctrine no permite usar JSON directamente. b) Porque puede haber referencias circulares entre objetos relacionados. c) Porque los atributos privados no son accesibles. ¿Qué significa la anotación cascade={"persist"} en una relación?. a) Que los cambios se reflejan en los logs de Symfony. b) Que los objetos relacionados también serán persistidos automáticamente. c) Que la entidad se convierte en estática. ¿Qué ocurre si no se inicializa una colección como ArrayCollection en el constructor de una entidad?. a) Se crea automáticamente con valores nulos. b) Doctrine lanza una excepción en la ejecución de flush() . c) Las operaciones sobre la colección pueden fallar por ser null. ¿Para qué se usa orphanRemoval=true en una relación uno a muchos?. a) Para permitir relaciones múltiples entre objetos huérfanos. b) Para eliminar automáticamente entidades hijas desvinculadas del padre. c) Para evitar duplicados al eliminar registros. ¿Qué ocurre si definimos una relación @OneToMany sin mappedBy ?. a) Doctrine crea un campo duplicado en la tabla. b) La relación se considera unidireccional. c) Symfony ignora completamente la relación. ¿Cómo se define una relación inversa de una entidad en Doctrine?. a) Declarando @OneToOne en ambas clases. b) Usando @ORM\Inverse. c) Definiendo mappedBy o inversedBy según corresponda. ¿Cuál es una buena práctica al eliminar elementos de una colección con removeElement() ?. a) Comprobar el ID del elemento manualmente. b) Asegurarse de que se haga también el remove inverso en la relación. c) Desactivar orphanRemoval temporalmente. ¿Cuál es el objetivo del principio de inversión de dependencias (D en SOLID) aplicado a Doctrine?. a) Permitir que los controladores dependan directamente de Doctrine. b) Inyectar dependencias como EntityManager mediante interfaces o servicios. c) Usar Doctrine como clase estática global. ¿Cuál es una limitación habitual de DQL frente a SQL nativo?. a) No permite funciones específicas del motor de base de datos. b) No puede realizar filtros complejos. c) No puede hacer JOINs entre entidades relacionadas. En una API REST, ¿cuál sería una URI correcta para acceder a un usuario con ID 5?. a) /getUser?id=5. b) /users/5. c) /api/users?action=5. ¿Qué formato de datos se utiliza comúnmente en APIs REST por su ligereza y compatibilidad?. a) XML. b) JSON. c) YAML. ¿Qué principio SOLID busca evitar la modificación directa de clases existentes?. a) Principio de segregación de interfaces. b) Principio abierto/cerrado. c) Principio de responsabilidad única. ¿Cuál de los siguientes ejemplos viola el principio de inversión de dependencias?. a) Una clase que instancia directamente a EntityManager. b) Una clase que recibe EntityManagerInterface por inyección. c) Un servicio que depende de una interfaz. ¿Qué implica aplicar el principio de sustitución de Liskov?. a) Que una subclase debe tener menos funciones que su padre. b) Que una subclase debe poder usarse en lugar de su clase padre sin alterar el comportamiento. c) Que las subclases no deben heredar métodos. ¿Qué ocurre si se ejecuta este código sin haber inicializado la propiedad $comentarios como ArrayCollection? $articulo = new Articulo(); $articulo->getComentarios()->add($comentario);. a) Se añade correctamente el comentario a la entidad. b) Se lanza un error porque getComentarios() devuelve null. c) Doctrine crea automáticamente la colección y guarda los cambios. ¿Qué representa la anotación @ORM\Column(type="string", nullable=false) ?. a) El campo no acepta cadenas vacías. b) El campo no puede tener valor nulo en la base de datos. c) El campo es clave primaria y de tipo texto. ¿Cuál es el resultado de ejecutar este código sin haber ejecutado flush() ? $producto = new Producto(); $producto->setNombre("Teclado"); $entityManager->persist($producto); // No se llama a flush(). a) El producto se guarda automáticamente al cerrar el script. b) El producto no se guarda en la base de datos. c) Doctrine lanza una excepción inmediatamente. ¿Qué error genera el siguiente código si el atributo nombre no existe en la entidad? $producto = new Producto(); $producto->setNombre("Ratón óptico");. a) Se ignora la llamada sin errores. b) Error: Call to undefined method Producto::setNombre() . c) Doctrine crea automáticamente el método. ¿Cuál es el resultado del siguiente fragmento si precio es un campo float? $producto = new Producto(); $producto->setPrecio("veinte"); $entityManager->persist($producto); $entityManager->flush();. a) Guarda la cadena "veinte" en la base de datos. b) Doctrine lanza una excepción por tipo no compatible. c) Convierte "veinte" en 0 y guarda ese valor. ¿Qué devuelve este código? $repo = $entityManager->getRepository(Producto::class); $producto = $repo->find(999);. a) Una excepción porque el ID no existe. b) null si no se encuentra el producto con ID 999. c) Un array vacío. ¿Qué resultado produce este código si hay una relación @OneToOne con cascade={"persist"} ? $perfil = new Perfil(); $usuario = new Usuario(); $usuario->setPerfil($perfil); $entityManager->persist($usuario); $entityManager->flush();. a) Solo se guarda el usuario, no el perfil. b) Se guardan automáticamente ambas entidades. c) Doctrine ignora el atributo perfil. |