Commit 7cce33c8 by Angello Torres

Add errors.404.blade.php

parent 00eff7a5
...@@ -44,7 +44,15 @@ class UserController extends Controller ...@@ -44,7 +44,15 @@ class UserController extends Controller
public function show($id) public function show($id)
{ {
return view('users.show', compact('id')); // return view('users.show', compact('id'));
$user = User::find($id);
// Condicional para evitar que el usuario busque un registro inexixtente
if ($user == null){
return view('errors.404');
}
// dd(is_null($user));
return view('users.show', compact('user'));
} }
public function create() public function create()
......
...@@ -29,5 +29,6 @@ ...@@ -29,5 +29,6 @@
<server name="MAIL_DRIVER" value="array"/> <server name="MAIL_DRIVER" value="array"/>
<server name="QUEUE_CONNECTION" value="sync"/> <server name="QUEUE_CONNECTION" value="sync"/>
<server name="SESSION_DRIVER" value="array"/> <server name="SESSION_DRIVER" value="array"/>
<env name="DB_DATABASE" value="curso_styde_test"/>
</php> </php>
</phpunit> </phpunit>
@extends('layout')
@section('title', "Página no encontrada")
@section('content')
<h1>Página no encontrada</h1>
<p>
<a href="{{ route('users.index') }}">Regresar al listado de usurios</a>
</p>
@endsection
...@@ -36,26 +36,31 @@ ...@@ -36,26 +36,31 @@
<header> <header>
<!-- Fixed navbar --> <!-- Fixed navbar -->
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark"> <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<a class="navbar-brand" href="#">Fixed navbar</a> <a class="navbar-brand" href="https://styde.net/laravel-5">Curso Laravel Styde</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation"> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span> <span class="navbar-toggler-icon"></span>
</button> </button>
<div class="collapse navbar-collapse" id="navbarCollapse"> <div class="collapse navbar-collapse" id="navbarCollapse">
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav mr-auto">
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> <a class="nav-link" href="{{ route('users.index') }}">Usuarios <span class="sr-only">(current)</span></a>
</li> </li>
</ul>
<!--
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="#">Link</a> <a class="nav-link" href="#">Link</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a> <a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</li> </li>
-->
</ul> </ul>
<!--
<form class="form-inline mt-2 mt-md-0"> <form class="form-inline mt-2 mt-md-0">
<input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search"> <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button> <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
</form> </form>
-->
</div> </div>
</nav> </nav>
</header> </header>
...@@ -69,12 +74,14 @@ ...@@ -69,12 +74,14 @@
@yield('content') @yield('content')
</div> </div>
<!--
<div class="col-4"> <div class="col-4">
@section('sidebar') @section('sidebar')
<h2>Barra lateral</h2> <h2>Barra lateral</h2>
@show @show
</div> </div>
-->
</div> </div>
</div> </div>
</main> </main>
......
...@@ -6,7 +6,25 @@ ...@@ -6,7 +6,25 @@
<h1>{{ $title }}</h1> <h1>{{ $title }}</h1>
<ul> <ul>
@forelse ($users as $user) @forelse ($users as $user)
<li>{{ $user->name }}, ({{ $user->email }})</li> <li>
{{ $user->id }} - {{ $user->name }}, ({{ $user->email }})
<!--
url() => Enlaza a rutas arbitrarias dentro de la app
También se puden usar ""
<a href="{{ url("/usuarios/{$user->id}") }}">Ver detalle</a>
-->
<!--
<a href="{{ url('/usuarios/'.$user->id) }}">Ver detalle</a>
-->
<!--
Con action()
<a href="{{ action('UserController@show', ['id' => $user->id]) }}">Ver detalle</a>
-->
<!--
con rutas (name), estas estan definidas en routes/web.php
-->
<a href="{{ route('users.show', ['id' => $user->id]) }}">Ver detalle</a>
</li>
@empty @empty
<p>No hay usuarios registrados</p> <p>No hay usuarios registrados</p>
@endforelse @endforelse
......
@extends('layout') @extends('layout')
@section('title', "Usuario {$id}") @section('title', "Usuario {$user->id}")
@section('content') @section('content')
<h1>Usuario #{{ $id }}</h1> <h1>Usuario #{{ $user->id }}</h1>
<p>Nombre del Usuario: {{ $user->name }}</p>
<p>Email de usuario: {{ $user->email }}</p>
<p>
<a href="{{ route('users.index') }}">Regresar al listado de usurios</a>
<!--
Se puede usar url()->previous() y te regresa a la última dirección, esto tiene un problema, si se recarga
el navegador, la última dirrción es donde está
-->
<!--
Con el helper action(), hace una especie de ingenieria inversa a la url
<a href="{{ action('UserController@index') }}">Regresar al listado de usuarios</a>
UserController = Es el controlador que desencadeno la acción
@index = Apunta a la function index()
-->
</p>
<p>Mostrado detalle del usuario: {{ $id }}</p>
@endsection @endsection
...@@ -17,11 +17,14 @@ Route::get('/', function () { ...@@ -17,11 +17,14 @@ Route::get('/', function () {
return view('welcome'); return view('welcome');
}); });
Route::get('/usuarios', 'UserController@index'); Route::get('/usuarios', 'UserController@index')
->name('users.index');
Route::get('/usuarios/{id}', 'UserController@show') Route::get('/usuarios/detalle/{id}', 'UserController@show')
->where('id', '[0-9]+'); ->where('id', '[0-9]+')
->name('users.show');
Route::get('/usuarios/nuevo', 'UserController@create'); Route::get('/usuarios/nuevo', 'UserController@create')
->name('users.create');
Route::get('/saludo/{name}/{nickname?}', 'welcomeUserController'); Route::get('/saludo/{name}/{nickname?}', 'welcomeUserController');
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment