Entender Laravel

1

隆Actualizamos este curso!

2

驴Qu茅 es Laravel?

3

Herramientas necesarias para trabajar con PHP y Laravel

4

Entendiendo el ciclo de vida de las solicitudes web

5

Qu茅 es un CRUD y c贸mo implementarlo

6

L贸gica de controladores y vistas con datos de prueba

7

Creando un formulario

Comprender los Fundamentos de Laravel

8

Sistema de rutas y controladores

9

Uso de Middlewares

10

Validaci贸n de datos (rutas, vistas, formularios y controladores)

11

Blade: sistema de plantillas avanzado

12

Trabajando con el componente Laravel/UI

Aprender sobre Eloquent ORM

13

Eloquent: trabajando con este ORM

14

Relaciones de tablas

15

Colecciones y serializaci贸n de datos

16

Formato de valores en tablas y presentaci贸n de datos

Crear PlatziPress

17

Proyecto Blog: presentaci贸n y configuraci贸n inicial

18

Creaci贸n de tablas, entidades y datos de prueba

19

Plantillas de trabajo y entendiendo el login

20

Dise帽o visual con Bootstrap

21

Vista index y botones de acci贸n

22

Implementaci贸n del formulario de creaci贸n

23

Implementaci贸n del guardado

24

Creando la funci贸n de editar un post

25

Actualizando nuestros posts

26

Integrando contenido audiovisual

Construir Proyecto Final: API con TDD (Intermedio)

27

Introducci贸n al testing

28

Metodolog铆a TDD y testing HTTP

29

Proyecto API con TDD: presentaci贸n y configuraci贸n inicial

30

Store con TDD

31

Refactorizaci贸n y validaci贸n en Store

32

Show con TDD

33

Update y validaci贸n con TDD

34

Delete con TDD

35

Index con TDD

36

Protecci贸n de una API con Login

37

Cierre del curso

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende Ingl茅s, Programaci贸n, AI, Ciberseguridad y mucho m谩s.

Antes: $249

Currency
$209
Suscr铆bete

Termina en:

3 D铆as
20 Hrs
20 Min
17 Seg
Curso de Introducci贸n a Laravel 6

Curso de Introducci贸n a Laravel 6

Profesor Italo Morales F

Profesor Italo Morales F

Vista index y botones de acci贸n

21/37
Recursos

Aportes 26

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

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"> &nbsp; </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 鈥淐rear鈥 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 鈥渇loat-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([鈥榓uth鈥橾)->group(function () {
.//tus rutas
});

en lugar de usar el ->middleware(鈥榓uth鈥) 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?.