- 1

Desarrollo web con G2: Framework PHP práctico y seguro
03:13 - 2

Desarrollo web con PHP y Yii: Instalación y uso eficiente
06:39 - 3

Arquitectura MVC: Modelo, Vista y Controlador
06:57 - 4

Instalación y Configuración de Yii en Entorno Local
05:13 - 5

Estructura de Archivos en Proyectos Yii2 Básicos
10:39 - 6

Configuración Básica de Proyectos en Yii con Variables de Entorno
17:18 Quiz: Introducción a desarrollo web con PHP y Yii
Condicionales y funciones para gestionar libros en la aplicación
Clase 30 de 35 • Curso de Desarrollo Web con PHP y Yii2
Contenido del curso
- 10

Comandos en Yii: Creación y Ejecución de Controladores en Terminal
12:01 - 11

Modelos en PHP: Creación y Manipulación de Datos
11:38 - 12

ActiveRecord: Integración de Bases de Datos en Frameworks PHP y Ruby
11:15 - 13

Gestión de Autores y Libros en Yii: Creación y Consulta Eficiente
15:22 - 14

Relaciones ActiveRecord en Yii: Conectar Libros y Autores
07:59 - 15

Relaciones de uno a muchos en Yii: Obtener libros de un autor
10:23 - 16

Creación y Uso de Controladores Web en Yii Framework
11:56 - 17

Redirección y manejo de errores en controladores Yii
16:02 - 18

URLs Amigables: Gestión y Creación con URL Manager en PHP
10:14 - 19

Vistas en PHP con Yii y Smarty para Web Apps Sin Frameworks Frontend
10:39 - 20

Plantillas Smarty con Yii: Instalación y Uso Básico
14:30 Quiz: Modelos, vistas y controladores
- 21

Creación y Gestión de Usuarios en Aplicaciones Web Seguras
14:08 - 22

Ofuscación y Validación de Contraseñas en Yii Framework
11:21 - 23

Implementación de Login y Gestión de Usuarios en Yii2
11:33 - 24

Controlador en Yii: Creación y Manejo de Usuarios
11:09 - 25

Creación de Formularios con ActiveForm y Smarty en PHP
10:39 - 26

Validación de Datos en Modelos y Formularios con Yii2
15:01 - 27

Validaciones y Filtros en PHP para Gestión de Usuarios
08:52 Quiz: Manejo de usuarios con Yii2
- 28

Creación y Gestión de Libros en Aplicaciones Web
12:50 - 29

Crear y Gestionar Repisas de Libros en PHP
08:13 - 30

Condicionales y funciones para gestionar libros en la aplicación
05:49 - 31

Calificación de Libros con Validación en PHP y Yii Framework
15:29 - 32

Generación de Información a Partir de Datos en Bases de Datos
15:05 - 33

Relaciones de Tablas en Bases de Datos: Cálculo de Promedios
13:22 - 34

Modificaciones de Menú y Layout en Aplicación Web con G
15:00 Quiz: Enlaces, navegación y tablas intermedias
¿Cómo identificamos si un usuario tiene un libro o no?
En el contexto de una aplicación de gestión de libros, es fundamental poder determinar si un usuario tiene un libro específico. En el ejercicio anterior, el objetivo era modificar la vista para reflejar si un usuario ya cuenta con un libro o no. Esta información es crucial para personalizar la interacción del usuario con la plataforma, ofreciendo opciones personalizadas como calificar el libro o eliminarlo de su lista.
Para implementar esta funcionalidad, partimos de la vista, donde añadiremos un condicional que muestre diferentes opciones según el estado del libro:
if (G\App\User\Identity::hasBook($bookId)) {
// Lógica para cuando el usuario tiene el libro
} else {
// Lógica para cuando el usuario no tiene el libro
}
Este fragmento de código evalúa si el usuario ha registrado el libro como suyo y, en función de ello, despliega las acciones correspondientes.
¿Cómo implementamos la función hasBook en el modelo de usuario?
La función hasBook es clave para determinar la pertenencia de un libro en el modelo de usuario. Se verifica si el libro específico está asociado al usuario mediante una consulta a la base de datos.
public function hasBook($bookId) {
$userBooks = UserBook::where([
'user_id' => $this->id,
'book_id' => $bookId
])->get();
return !empty($userBooks);
}
En este código:
- Se realiza una consulta sobre la tabla
UserBookbuscando coincidencias de usuario y libro. - El método
wherefiltra los registros que coinciden con eluser_idybook_id. - Si el arreglo resultante no está vacío, significa que el usuario posee el libro, retornando
true. Caso contrario, se retornafalse.
¿Qué hacemos después de identificar un libro como propio?
Una vez que se confirma que el usuario posee un libro, se ofrecen dos opciones en la vista: calificar el libro o indicar que ya no lo posee. La calificación se realiza mediante un formulario que envía la nota al controlador BookScore.
Implementación del formulario de calificación
Como parte de la futura implementación, se diseñará un formulario para que los usuarios califiquen sus libros. Este formulario enviará una calificación del 1 al 5 al controlador BookScore, encargándose de recibirla y procesarla adecuadamente en el sistema.
<form action="/book-score" method="post">
<label for="rating">Calificar este libro:</label>
<select id="rating" name="rating">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
<button type="submit">Enviar</button>
</form>
Esta implementación no solo mejora la experiencia del usuario, permitiéndole interaccionar y dar feedback sobre sus libros, sino que también crea un sistema más dinámico que puede adaptarse a futuras funcionalidades, como la revaluación de libros o el análisis de datos de calificación.
¡Continúa explorando y extendiendo tus conocimientos para seguir construyendo aplicaciones robustas y centradas en el usuario!