Rutas dinámicas y maquetación de cursos en PHP con Laravel
Resumen
¿Cómo crear una ruta dinámica para un curso?
Iniciar la creación de una ruta dinámica es un paso crucial en el desarrollo web, y más aún si trabajas con Laravel. La idea central es que cada curso tenga su propia URL única que permita invocarlo directamente. Para lograrlo, empieza por modificar tu archivo de rutas.
En este fragmento, {slog} es el identificador único de cada curso, similar a un "nombre amigable" que sustituye el ID numérico tradicional. Laravel se encargará de realizar la consulta correspondiente de manera automática. Este tipo de enfoque no solo facilita tener URLs más amigables, sino que también optimiza el SEO de tu aplicación.
¿Cómo configurar y utilizar un controlador en Laravel?
Una vez que tienes configurada la ruta, el siguiente paso es definir el controlador que manejará la lógica para mostrar un curso específico. Para ello, necesitarás recibir un modelo en el controlador.
Aquí, el método compact es utilizado para pasar variables de manera eficiente a la vista. Este método permite simplificar el código al no tener que declarar explícitamente cada elemento del array que se pasará a la vista.
¿Cómo estructurar y maquetar la vista del curso?
La vista es el lugar donde todo cobra vida visualmente. Una vez que hayas configurado tu controlador, es momento de trabajar en la maquetación de la página de detalle del curso.
Para crear una estructura organizada para la vista del curso, considera utilizar un sistema de cuadrícula. Por ejemplo, puedes definir una cuadrícula con tres columnas, asignando diferentes tamaños y márgenes a cada componente.
Aquí, haces uso de Tailwind CSS para definir estilos como márgenes, colores y distribución en la cuadrícula. Esto no solo mejora la legibilidad del código, sino que también permite actualizaciones rápidas y uniformes del diseño.
¿Cómo mostrar los detalles de un usuario que creó un curso?
El siguiente paso es presentar la información pertinente al creador del curso. Utiliza las relaciones definidas en tu modelo para acceder a esta información. Incluye una imagen de avatar y muestra el nombre del creador junto con la fecha de creación del curso.
Este enfoque asegura que la página detalle del curso no solo muestre contenido relevante, sino también proporcione contexto sobre quién lo creó, enriqueciendo así la experiencia del usuario.
A medida que profundices en la implementación de estas características, te darás cuenta de cómo estas pequeñas configuraciones y ajustes contribuyen a una aplicación más integral. Esta es una fuerte demostración de cómo tecnologías avanzadas como PHP y frameworks como Laravel facilitan la construcción de aplicaciones escalables y eficaces sin necesidad de escribir extensas líneas de código. Continúa explorando y aprendiendo; estás en el camino correcto hacia el dominio del desarrollo web.
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 👀
Si es genial.
Debe ser interesante ver un review de cómo funcionan los demás frameworks en estos mismos temas? (django, springboot, asp, ruby on rails, etc)
Mi aporte:
Excelente!! Sintetiza más que la lección. Lo imprimiré a colores y la pondré como cuadro delante de mi escritorio. Me permite? Hasta en mi cocina tengo esquemas ...
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
Se ve bastante bien!
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!!!
x2
a mí merca un error y no se porque alguien me puede ayudar? y tampoco me muestra info
El error es: ErrorExecption
Attempt to read property "avatar" o null (View:c:\xampp\htdocs\norma035\resources\views\cuestionario.blade.php
Hola, al parecer tienes un objeto que es null. ¿Podrías poner tu código para ver por qué es null? 🤔
Si, a mi también me aparece ¿Pudiste solucionarlo?
En mi proyecto no me reconoce las .col-span-1 .col-span-2 por ello el diseño se ve así
](https://postimg.cc/rDttMdKR)
He eliminado la carpeta node_modules y he vuelto a instalar tailwindcss con la ultima version, pero de igual forma no me reconoce esas clases. Ha alguien le ha sucedido lo mismo
tengo el mismo problema, no me reconoce .col-span-1 .col-span-2
A mi me pasa lo mismo, se arregla ejecutando npm install & npm run dev
Alguien mas se le presenta el error:
ErrorException
Attempt to read property "avatar" on null
como se puede resolver?
¡Hola! :)
Si pudieras compartirnos tu código sería más sencillo encontrar la solución. Puedes copiar y pegar utilizando el botón de </> insertar código.
¡Saludos!
Si, a mi también me aparece ¿Pudiste solucionarlo?
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.
Hola companero.
Igual por aqui, lo conoci en 5.6 y abandone en 7.2.
Hoy la version 9 y a principios del otro ano se planea la 10.
.
Pienso que todos esos conocimientos adquiridos siguen siendo validos la diferencia es que pasamos menos tiempo haciendo configuraciones, laravel practicamente ha integrado los mejores paquetes dentro de su core.
.
Lo que mas me ha sacado de la zona de confort es la integracion con las tecnologias por componentes de javascript.
.
Se me hace muy extrano aun, trabajar toda una applicacion practicamente sin usar un controlador.
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:
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.
Hola, yo también tengo el mismo problema que no me reconoce el avatar, me aparece así ...
Attempt to read property "avatar" on null
Alguno de casualidad sabe como puedo hacer para que se carguen todas las clases de tailwindcss, es que hay algunas que no se agregaron y al no estar en el archivo me toca correr los comandos npm install y npm run dev para que se agreguen las nuevas clases en el archivo.
vuelve a correr los comandos de npm install y luego el npm run dev