Muy bonito me va quedando =>
Entender Laravel
¡Actualizamos este curso!
¿Qué es Laravel?
Herramientas necesarias para trabajar con PHP y Laravel
Entendiendo el ciclo de vida de las solicitudes web
Qué es un CRUD y cómo implementarlo
Lógica de controladores y vistas con datos de prueba
Creando un formulario
Comprender los Fundamentos de Laravel
Sistema de rutas y controladores
Uso de Middlewares
Validación de datos (rutas, vistas, formularios y controladores)
Blade: sistema de plantillas avanzado
Trabajando con el componente Laravel/UI
Aprender sobre Eloquent ORM
Eloquent: trabajando con este ORM
Relaciones de tablas
Colecciones y serialización de datos
Formato de valores en tablas y presentación de datos
Crear PlatziPress
Proyecto Blog: presentación y configuración inicial
Creación de tablas, entidades y datos de prueba
Plantillas de trabajo y entendiendo el login
Diseño visual con Bootstrap
Vista index y botones de acción
Implementación del formulario de creación
Implementación del guardado
Creando la función de editar un post
Actualizando nuestros posts
Integrando contenido audiovisual
Construir Proyecto Final: API con TDD (Intermedio)
Introducción al testing
Metodología TDD y testing HTTP
Proyecto API con TDD: presentación y configuración inicial
Store con TDD
Refactorización y validación en Store
Show con TDD
Update y validación con TDD
Delete con TDD
Index con TDD
Protección de una API con Login
Cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 26
Preguntas 5
Muy bonito me va quedando =>
SI les aparece el error a continuacion en laravel 8, al momento de ir al index del post
**Target class [Http\Controllers\Backend\PostController] does not exist.
**
en las rutas pueden cambiar la ruta de la siguiente manera
use App\Http\Controllers\Backend\SubtipoController;
Route::resource('/posts', PostController::class)
->middleware('auth')
->except('show');
En #Laravel 8 la ruta quedaria de la siguiente manera:
Route::resource('posts', App\Http\Controllers\Backend\PostController::class)->middleware('auth')
->except('show');
RESUMEN
Index administrativo
A) Rutas
B)Controller
C)Vistas
A)"web.php
Route::resource("/posts", "Backend\PostController")
->middleware('auth')
->except("show"); //x seguridad
B)"Controller.
yase que tenemos un PostController conectado con Post y esta vacio.. eliminalo porque lo vamos a crear dentro de la carpeta Http/Controllers/Backend/PostController.php
sudo php artisan make:controller Backend/PostController --resource --model=Post
"PostController.php
public function index()
{
$posts = Post::latest()->get();
return view("posts.index", compact('posts'));} //envia los datos a la vista //
C)
AHORA SI HACEMOS LOGIN NOS LLEVA A /home , que es un dashboard
ahi vamos a crear un boton que nos lleve a los articulos
"resources/views/layout/app.blade.php
//1 si sos invitado de te lleva al register
//2 si pasaste el auth----
@guest
<li class="nav-item">
<a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a>
</li>
@if (Route::has('register'))//1
<li class="nav-item">
<a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a>
</li>
@endif
@else //2
<li class="nav-item">
<a href="{{route('posts.index')}}" class="nav-link">
Articulos
</a>
</li>
<li class="na
//agregamos el <li> con el link a posts.index
//ya tenemos el boton en el dashboard de admin
Ahora creamos un
-un container con titulo Articulos y un boton de creacion
-en su interior arriba tiene
ID TITLE Y UN BOTON DE CREACION Y OTRO DE ELIMINACION
-"resources/views CREAMOS CARPETA POSTS
//resources/views/index.blade.php
//encabezado container
<div class="card-header">
Articulos
<a href="{{ route('posts.create') }}" class="btn btn-sm btn-primary float-right">Crear</a>// posts.index es el nombre de la ruta que devuelve los posts en el method index de PostController-->
</div>
//container body
<div class="card-body">
@if (session('status'))
<div class="alert alert-success" role="alert">
{{ session('status') }}
</div>
@endif
//parte superior ID TITLULO
<table class="table">
<thead>
<tr>
<th>ID</th>
<th>TITULO</th>
<th colspan="2"> </th>
</tr>
</thead>
//CADA ELEMENTO TIENE el post id y el post title y botones para editar y eliminar
<tbody>
@foreach($posts as $post)
<tr>
<td>{{$post->id}}</td>
<td>{{$post->title}}</td>
<td>
<a href="{{ route('posts.edit', $post) }}" class="btn btn-sm btn-primary">Editar</a>
</td>
<td>
<form action="{{ route('posts.destroy',$post) }}" method="POST">
@csrf
@method("DELETE")
<input
type="submit"
value="Eliminar"
class="btn btn-danger"
onclick="return confirm('Deseas eliminar el Articulo?')"
>
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
Este profesor es super didáctico.
@Italomoralesf.
En algunos momentos del curso, no se entiende muy bien que se está haciendo, sólo que él está haciendo algo y al final apenas nos damos cuenta que era lo que estabamos haciendo.
Clase propia de bootstrap por supuesto xD
En nibuti 5:57, si están con Laravel 9, bootstrap es 5, en ese caso el boton “Crear” no se alinea a la derecha pues float-right está deprecado en BS 5. Usar float-end
<a href="{{ route('posts.index') }}" class="btn btn-sm btn-primary float-end">Crear</a>
si están utlizando bootstrap 5.1, deben poner “float-end” en el botón de crear post.
<a href="{{ route('posts.create') }}" class="btn btn-sm btn-primary float-end">Crear</a>
grupo de rutas protegidas
Route::middleware([‘auth’])->group(function () {
.//tus rutas
});
en lugar de usar el ->middleware(‘auth’) por cada ruta.
Si por algún motivo les sale el siguiente error
ErrorException Undefined variable: posts - $posts is undefined.
Lo solucioné cambiando estas lineas del PostController.php
$posts = Post::latest()->get();
return view('posts.index', compact($posts));
Por las siguientes ->
$posts = Post::all();
return view ('posts.index', compact('posts'));
#avance
Es excelente toda la información que nos dan en el curso.
Lo mas demorado es trabajar en las vistas para que se ven decentes.
Y sin embargo veo que me quedo igual que otro companero ! 🤣
.
si quieren saber algunos de donde o como porque pone posts.edit o posts.destroy,
pueden ver que las rutas que reamos con
Route::resource('posts', 'Backend\PostController')
->middleware('auth')
->except('show');
esas lineas nos generan las urls de un crud ademas que les añade un name a la ruta como lo emos visto en clases pasadas, si quieren ver que name tiene la ruta puede utilizar este comando
php artisan route:list
lo que les mostrara esto
Al crear la tabla dentro del index.
Utilicen esta clase:
<table class="table table-dark table-hover">
#LoveDarkMode
Soy yo o creo que va muy rápido :c que conocimientos previos debo de tener para poder llegar a este punto?
Que clase mas buena!!!
Vamos bien. Muy bien explicado
Excelente por toda esta configuración tan genial
A mi en lo personal me gusta más usar la función compact que pasar el arreglo, siento que es mucho más limpio jaja, pero que bien va quedando el blog:D!
Que increible Laravel, quiero aprender a unirlo con react =)
Agreguen estos estilos de datatables, para darle un aspecto mas profesional al proyecto
https://datatables.net/
En que casos se debe usar el form action?. es de bootstrap?.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?