Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Detalle del curso

13/20
Recursos

Aportes 17

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Una de las razones por las que amo PHP es Laravel, Laravel hace que todo parezca magia, y es que de hecho es tan cómodo trabajar con ello, por ejemplo, la inyección de dependencias.
.
Cuando tú le pasas un parámetro que es un modelo al método del controlador, Laravel irá directamente hacia ese modelo y a hacer la consulta con respecto a lo que esté en la url y el campo que le hayas pasado, y parece casi magia, pero la verdad es que todo esto es gracias al principio de inyección de dependencias 👀

Mi aporte:

Les comparto el archivo course.blade.php

@extends('layouts.web')

@section('content')
<div class="grid grid-cols-3 gap-4">
  <div class="p-8 bg-gray-200 col-span-1">
    <ul class="flex flex-col">
      <li class="font-medium text-sm text-gray-400 uppercase mb-4">Contenido</li>
    </ul>
  </div>
  <div class="text-gray-700 col-span-2">
    <img src="{{ $course->image }}" alt="">
    <h2 class="text-4xl">{{ $course->name }}</h2>
    <p>{{ $course->description }}</p>
    <div class="flex mt-3">
      <img src="{{ $course->user->avatar }}" class="h-10 w-10 rounded-full mr-2" alt="">
      <div>
        <p class="text-gray-500 text-sm">{{ $course->user->name }}</p>
        <p class="text-gray-300 text-xs">{{ $course->created_at->diffForHumans() }}</p>
      </div>
    </div>
  </div>
</div>
<div class="text-center mt-4">
  <h1 class="text-3xl text-gray-700 mb-2 uppercase">Ultimos Cursos</h1>
  <h2 class="text-xl text-gray-600">Fórmate online como profesional en tecnología</h2>
</div>

<livewire:course-list>
@endsection

En el minuto 02:51 ya no es necesario poner explícitamente $course->slug en la función route() puedes poner solo $course; quedando así;

En lugar de:

route('course', $course->slug)

Sería:

route('course', $course)

, porque en las rutas ya se puso que buscará ese campo: {course:slug}

Route::get('/course/{course:slug}', [PageController::class, 'course'])->name('course');

Me gusta el diseño que nos ofrece TaildWind.
Creo sin duda que iré reemplazando Boostrap por TailWind.
.

Así va mi aplicación, soy fan de los dark themes así que lo modifiqué a mi gusto

Algo interante para mi, es el formato de fecha que le dio el profesor a la fecha a través del método diffForHumans() ya que pensé en darle una formato a través de moment.js desde JavaScript.

Esto se debe a una extensión de PHP que instala Laravel, este se llama Carbon

Les dejo la documentación en GitHub para que le echen un ojo 👍.

y sigo enamorado de laravel!!!

diffForHumans() te formatea la fecha, si quieres que se represente en español solo debes cambiar el idioma de la aplicación en el archivo app.php que está en la carpeta config.

‘locale’ => ‘es’

Definitivamente, nos toca después de terminar este curso, hacer el tailwinds!! Excelente herramienta muy intuitiva.

Diosss que util es Laravel, con ReactJS y Node esto hubiese tardado bastante tiempo

Que belleza esa función de diffForHumans

Otra manera de pasar variables a la vista sin usar compact el cual siento más adecuado a mi gusto personal sería:

<?php

class PageController extends Controller
{
  public function course(Course $course)
  {
    return view('course')
      ->with('course', $course);
  }
}

El atributo alt, como ya menciono el profe, es importante puesto que nos da un indicio de que es la imagen que estamos colocando en el documento. Ésto si queremos hacer paginas web incluyentes para los visualmente deficientes, también ayuda al mejor posicionamiento en motores de búsqueda.

Yo estuve desde laravel 4 que era cuando lo conocí, y estuve hasta laravel 5.4 e incursioné un poco laravel 6.5 porque abandoné laravel luego de eso. Vuelvo luego de unos años y noto que todo es diferente. Me siento como si todos mis conocimientos de ese entonces no sirvieran de nada.

A veces el tailwindcss parece que hace lo que le da la gana con el standar, background es bg, aah pero font-sm es font size medium ????