Contenido del curso
Proyecto
- 3

Instalación y configuración inicial de proyectos en Laravel
03:27 min - 4

Configuración de Relaciones y Pruebas Unitarias en Laravel
07:52 min - 5

Configuración de Relaciones en Laravel usando Testing
10:26 min - 6

Protección de Rutas en Laravel con Middleware de Autenticación
10:22 min - 7

Pruebas Automatizadas para Registro y Redirección en Base de Datos
10:17 min - 8

Configuración de Actualización de Registros con Pruebas en PHP
11:19 min - 9

Validación de Datos en Controladores: Configuración y Pruebas
05:37 min - 10

Eliminación de Registros en Base de Datos con PHP y Tests
04:16 min
Póliticas de Acceso
Vistas del proyecto
- 15

Formulario de Edición con Diseño y Tests en Laravel
09:41 min - 16

Testing de Formularios en PHP: Creación y Validación de Vistas
07:24 min - 17

Configuración de Controladores y Vistas en Laravel para el Área Pública
08:44 min - 18

Diseño Web con Tailwind CSS: Mejora de Apariencia y Formato
06:15 min - 19

Pruebas y Configuración de Seeders en Proyectos Laravel
08:32 min
Refactorización
Conclusión
Configuración del Método Show en Controladores PHP
Resumen
Visualizar un registro individual es una operación fundamental en cualquier aplicación web, y hacerlo correctamente implica validar que solo el propietario del recurso pueda acceder a él. A continuación se explica paso a paso cómo configurar el método show en un controlador de Laravel, protegerlo con una política de acceso y verificar todo mediante pruebas automatizadas.
¿Cómo crear las pruebas para el método show?
El punto de partida es el archivo de testing donde ya se han configurado pruebas previas como update y update de póliza. La estructura de la prueba para show es similar, por lo que se puede tomar como base una prueba existente y adaptarla [01:00].
La lógica de la prueba sigue estos pasos:
- Se crea un usuario y se inicia sesión con él.
- Se crea un repositorio asociado a ese usuario.
- Se realiza una petición GET a la ruta del repositorio individual.
- Se verifica que el status HTTP sea 200 (ok).
No se necesita enviar data adicional, ya que solo se consulta información. Opcionalmente se puede verificar que la respuesta contenga el ID, la URL o la descripción del repositorio, tal como se hizo previamente en la prueba del método index [02:30].
Para la prueba de la política de acceso (show policy), se crea un repositorio con un usuario distinto al autenticado. Al intentar acceder con GET, se espera recibir un error que confirme que el acceso está denegado [03:10].
¿Cómo configurar el controlador para mostrar un registro individual?
Dentro del archivo RepositorioController, el método show se ubica justo después del index. Su estructura se inspira en el método de eliminación, ya que ambos utilizan la política de acceso [04:00].
El método recibe dos parámetros: el request y el repositorio que se desea visualizar. Internamente realiza lo siguiente:
- Ejecuta la política de acceso para verificar que el usuario autenticado sea el propietario del repositorio.
- Retorna una vista llamada
repositorios.show, pasándole la variable del repositorio.
php public function show(Request $request, Repositorio $repositorio) { $this->authorize('pass', $repositorio);
return view('repositorios.show', compact('repositorio'));
}
El método authorize garantiza que solo el dueño del recurso pueda visualizarlo. Si la validación falla, Laravel devuelve automáticamente un error de autorización [04:45].
¿Cómo crear la vista show en Blade?
La vista se crea en resources/views/repositorios/show.blade.php. A diferencia del index, que muestra una tabla con múltiples registros, show presenta un registro individual [05:30].
La estructura básica incluye:
- Un H1 que muestra la URL del repositorio.
- Un div que muestra la descripción.
html
<h1>{{ $repositorio->url }}</h1> <div>{{ $repositorio->descripcion }}</div>Además, en la vista del index se agrega un enlace para acceder al detalle de cada repositorio [06:20]:
html <a href="{{ route('repositorios.show', $repositorio) }}">Ver</a>
Este enlace utiliza la función route apuntando a repositorios.show y pasa la variable del repositorio individual. Se emplea para agregar un espacio visual y se ajusta el diseño para que ocupe tres columnas dentro del layout [06:50].
¿Cómo verificar que todo funciona correctamente?
Al ejecutar php artisan test en la terminal, todas las pruebas previas pasan exitosamente, y tanto el show como el show policy se validan sin errores [07:10]. Esto confirma que:
- El método show retorna el registro correctamente.
- La política de acceso impide que usuarios no autorizados visualicen repositorios ajenos.
- La vista muestra la información esperada.
La clave de esta implementación es que el código queda completamente testeado, lo que permite copiar, adaptar y reutilizar patrones con confianza. La política de validación, la política de acceso y la visualización de datos en una vista Blade son piezas que ya se dominan de clases anteriores y se combinan aquí de forma natural.
Ahora es tu turno de implementar esta configuración y comprobar los resultados en tu proyecto. Si tienes dudas sobre la política de acceso o la estructura de la vista, comparte tu experiencia en los comentarios.