Subir archivos a "clases"

This commit is contained in:
2026-09-24 10:49:38 +02:00
parent f784c7bfff
commit ee781cb1e7
2 changed files with 29 additions and 27 deletions
+14 -14
View File
@@ -1,23 +1,23 @@
<?php <?php
require_once '../includes/conexionBD.php'; require_once '../includes/conexionBD.php';
// Definición de la clase Pregunta que representará las preguntas de la trivia // Definición de la clase Pregunta que representará las preguntas de la trivia
class Pregunta { class Pregunta {
// ATRIBUTOS (Propiedades privadas para encapsular el estado de cada pregunta) private ?int $id_pregunta;
private ?int $id_pregunta; // El ID de la pregunta (autoincremental en la BD) private int $id_categoria;
private int $id_categoria; // El ID de la categoría a la que pertenece la pregunta private string $texto_pregunta;
private string $texto_pregunta; // El enunciado de la pregunta private array $respuestas;
private array $respuestas; // Array que guardará la lista de respuestas posibles asociadas a esta pregunta private PDO $db;
private PDO $db; // La conexión a la base de datos mediante PDO
// CONSTRUCTOR: Inicializa una nueva instancia de la clase Pregunta public function __construct(int $id_categoria = 0, string $texto_pregunta = "", ?int $id_pregunta = null) {
public function __construct(PDO $db, int $id_categoria = 0, string $texto_pregunta = "", ?int $id_pregunta = null) { global $db; // Vinculamos la variable global generada por conexion.php
$this->db = $db; // Asigna la conexión a la base de datos $this->db = $db;
$this->id_pregunta = $id_pregunta; // Asigna el ID (null si es una nueva pregunta que no se ha guardado)
$this->id_categoria = $id_categoria; // Asigna la categoría correspondiente $this->id_pregunta = $id_pregunta;
$this->texto_pregunta = $texto_pregunta; // Asigna el texto de la pregunta $this->id_categoria = $id_categoria;
$this->respuestas = []; // Inicializa el contenedor de respuestas como un array vacío $this->texto_pregunta = $texto_pregunta;
$this->respuestas = [];
} }
// --- GETTERS Y SETTERS --- // --- GETTERS Y SETTERS ---
// Getter para obtener el ID de la pregunta (solo lectura) // Getter para obtener el ID de la pregunta (solo lectura)
+15 -13
View File
@@ -1,21 +1,23 @@
<?php <?php
require_once '../includes/conexionBD.php'; require_once '../includes/conexionBD.php';
// Definición de la clase Usuario que representará a los usuarios del sistema // Definición de la clase Usuario que representará a los usuarios del sistema
class Usuario { class Usuario {
// ATRIBUTOS (Propiedades privadas para proteger los datos de accesos directos externos) private ?int $id_usuario;
private ?int $id_usuario; // El ID del usuario (puede ser null si aún no se ha guardado en la base de datos) private string $nombre_usuario;
private string $nombre_usuario; // El nombre de usuario en texto private string $contrasena;
private string $contrasena; // La contraseña (normalmente encriptada) private string $email;
private string $email; // El correo electrónico del usuario private PDO $db; // Se mantiene para realizar las consultas dentro de la clase
private PDO $db; // La conexión a la base de datos mediante el objeto PDO
// CONSTRUCTOR: Se ejecuta automáticamente al crear un nuevo objeto (ej: new Usuario($db, "Juan", ...)) public function __construct(string $nombre_usuario = "", string $contrasena = "", string $email = "", ?int $id_usuario = null) {
public function __construct(PDO $db, string $nombre_usuario = "", string $contrasena = "", string $email = "", ?int $id_usuario = null) { // Hacemos referencia a la variable global $db que se creó en conexion.php
$this->db = $db; // Asigna la conexión a la base de datos al atributo interno global $db;
$this->id_usuario = $id_usuario; // Asigna el ID (por defecto es null si es un registro nuevo) $this->db = $db;
$this->nombre_usuario = $nombre_usuario; // Asigna el nombre de usuario recibido
$this->contrasena = $contrasena; // Asigna la contraseña recibida $this->id_usuario = $id_usuario;
$this->email = $email; // Asigna el email recibido $this->nombre_usuario = $nombre_usuario;
$this->contrasena = $contrasena;
$this->email = $email;
} }
// --- GETTERS Y SETTERS (Métodos públicos para acceder y modificar los datos privados de forma segura) --- // --- GETTERS Y SETTERS (Métodos públicos para acceder y modificar los datos privados de forma segura) ---