Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de PHP con Laravel

Curso de PHP con Laravel

Héctor Benitez

Héctor Benitez

Blade layout

13/25
Recursos

Cuando se tienen muchas vistas que repiten gran parte del código HTML, una mejor práctica para evitar esta repetición es crear layouts y extender de ellos. De esta manera el layout tendrá el contenido que siempre se repite y los hijos el código específico de ellos.

  • @yield marca la parte en donde irá el código de los hijos que extiendan o hereden del layout.
  • En las vistas hijas se utiliza @section para decir que esa parte del código es la que concuerda con el @yield del layout.

Aportes 22

Preguntas 2

Ordenar por:

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

Me encanta por que esto hace que el código se vea más limpio, en mis inicios con php tenia que crear 2 archivos, el header y el footer y despues poner los include en cada página del sitio

Como guardar variables con blade

@php ($variable = 'contenido')

Y como llamar a la variable

{{ $variable }}

Estoy gratamente sorprendido, por fin de todos las lecturas y videos que he visto antes, he podido relacionar personalmente el modelo, la vista y el controlador, de manera que incluso de los errores que he cometido, he podido aprender la base de este framework.
Mención especial para el instructor, que nos ha guiado por el bosque del mismo hasta la salida, a seguir aprendiendo, hasta aqui mis felicitaciones, ya mismo he terminado mas vistas con sus respectivas clases, de mi desarrollo de prueba.

Apuntes:
Cuando un proyecto tiende a ser mas grande de lo comun, se va a necesitar ahorrar tiempo (y codigo) al menos por parte de las vistas, por lo que se puede contar con extender los templates a con la ayuda de blade, que ya cuenta con funciones para ahorrar todo el codigo que tiende a ser repetitivo en las vistas.
Para ello, creamos una nueva carpeta en las vistas (app/resources/views) llamada (por convencion) “layouts”, y dentro creamos el archivo base para el layout, llamado (por conveniencia) “base.blade.php”.
Una vez tengamos el template basico (repetible) completo, procedemos a utilizar “@yield”, en la parte que no va a ser repetitiva del template, de la siguiente manera:
- '@yield(‘contenido’)'
Despues de haber hecho esto, nos dirigimos a cualquier vista y para traernos el contenido del template base, ponemos:
- @extends('carpeta.archivo), esto, sin la terminacion del formato (sea cual sea, obviamente es formato php).
- @section(‘contenido’)
- <Aquí, el codigo que difiere>
- @endsection

Los layouts son muy útiles, sobre todo cuando quieres manejar una estructura en común para todos tus archivos.

@yield puede recibir 2 parámetros, el nombre de tu contenido y como segundo parámetro puede ir una opción por defecto en caso de que el contenido no exista.

Blade es el template que ofrece Laravel, existen otros templates engines para php como twig, Smarty, Dwoo, entre otros.

Super! estaba esperando ver como incluir bloques y bootstrap gracias!

Desde lejos el icono de Composer paece una carita llorando o riendo

Notas:

-Pensando en la escalabilidad de los proyectos, se crea un directorio para ir dandole un formato mas limpio a las vistas, a través de componentes padres e hijos implementando el auxiliar de laravel @yield extendiendo desde el componente padre a las diferentes clases hijas con los contenidos de las diferentes secciones.

En Blade puedes utilizar cuantos sections se necesiten, por ejemplo, para agregar información al header, al footer, títulos, etc.

Lo digo una vez más, eres un excelente profesor! Amo Platzi

Me parece muy profesional como laravel maneja las vistas y te ayuda a no duplicar el codigo

Es fascinante ver como se optimiza nuestro view con la implementación del layout de blaze.

El uso de Blade Layout, facilita el hacer nuevas Vistas, simplifica las modificaciones, las actualizaciones se heredan a todas las vistas con un solo cambio. Me encanta …

Es precioso cuando todo funciona a la primera

Mi pregunta es, en Laravel donde se crea la clase q mapea la tabla de la base de datos???.

Esto técnicamente tiene un nombre sencillo: PLANTILLAS de DISEÑO, con el objeto de crear módulos, conservando un estándar en su presentación, y enfocarnos solamente en las funcionalidades reales del módulo a desarrollar.

Simplifica todo!

Seria interesante un curso implementan las vista con Vuejs

Buen aporte. Facilita la duplicidad de vistas

Genial las vistas por partecitas precisas

En el curso de introduccion de PHP 2018 nos enseña twig como alternativa a blade