21 Acción SHOW Usuarios en LARAVEL(PHP-MySql) FullStack

Duración: 16 min
Módulo: 👤 CRUD de Usuarios y UX Avanzada Lección 13 de 17

Descripción

👁️ Lección 21: Implementación de la Acción 'Ver' (Show) para Usuarios

Título del Video: 21 Acción SHOW Usuarios en LARAVEL (PHP-MySql) FullStack

Esta lección se enfoca en implementar la funcionalidad para ver los detalles de un usuario específico, activada al hacer clic en el botón con el ícono de ojo que fue diseñado en la lección anterior.

1. 🗺️ Creación de la Ruta (web.php)

Se define una nueva ruta para manejar la solicitud de mostrar la información de un usuario.

  • Método: Se utiliza el método Route::get() dado que solo se necesita recuperar información, no modificarla [01:18].
  • Estructura: La ruta incluye un parámetro variable que captura el ID del usuario que se desea ver.
  • Definición de la Ruta:
    • URL: /admin/usuarios/{id} (donde {id} es la variable) [01:27].
    • Controlador: Se dirige a la función show del UserController [02:02].
    • Nombre: Se le asigna el nombre admin.usuarios.show [02:25].
    • Middleware: Se mantiene la protección de autenticación (auth) [02:37].

2. 👩‍💻 Lógica del Controlador (UserController.php)

Dentro del controlador, se crea la función show para recibir el ID, buscar al usuario en la base de datos y enviar esa información a la vista.

  • Recepción del ID: La función show( $id ) recibe el ID del usuario como un argumento pasado por la ruta [06:01].
  • Consulta a la Base de Datos: Se utiliza el modelo User y el método findOrFail() para buscar al usuario por su ID [08:58].
    • findOrFail(): Es una buena práctica en Laravel. Si el ID existe, retorna el objeto del usuario; si el ID no existe (ej. si se escribe un ID manual incorrecto en la URL), Laravel automáticamente arroja una excepción y muestra una página 404 "Not Found" en lugar de un error interno [14:48].
  • Retorno a la Vista: La información del usuario se pasa a la vista admin.usuarios.show utilizando el método compact() [09:27].

3. 🖼️ Creación de la Vista (show.blade.php)

Se crea la vista show.blade.php dentro del directorio resources/views/admin/usuarios. Esta vista se basa en el diseño de create.blade.php pero con adaptaciones clave:

  • Título Dinámico: El título del panel muestra el nombre del usuario que se está visualizando (ej. "Usuario: [Nombre del Usuario]") [11:15].
  • Diseño de Panel: Se cambia el color del panel a card-info (azul) para indicar que es una vista de información en lugar de un formulario de creación [12:00].
  • Eliminación de Formulario: Se elimina la etiqueta <form> y el botón de registro, ya que esta vista es solo para lectura [12:30].
  • Despliegue de Datos: Los campos de entrada (<input>) se reemplazan por etiquetas de texto simple (como <p>) para mostrar los valores del usuario:
    • Nombre: Se muestra $usuario->name [12:53].
    • Correo Electrónico: Se muestra $usuario->email [13:17].
  • Exclusión de Contraseña: Por seguridad, la contraseña (aunque esté hasheada) y la confirmación no se muestran [13:28].