lunes, 18 de junio de 2018

PLANTILLAS BLADE

Blade es un simple pero poderoso motor de plantillas incluido con Laravel. A diferencia de otros populares motores de plantillas para PHP, Blade no limita el uso de código PHP simple en las vistas. Las vistas en Blade se compilan a código PHP y se cachean hasta que son modificadas, básicamente esto se traduce en que Blade añade sobrecarga cero a las aplicaciones. Las vistas en Blade usan la extensión .blade.php y normalmente se almacenan en el directorio resources/views.

Herencia de Plantillas

Definir Una Plantilla
Dos de los principales beneficios del uso de Blade son la herencia de plantillas y las secciones. Para empezar, se va a revisar un sencillo ejemplo. Primero, examinaremos un layout "master". Puesto que la mayoría de aplicaciones web mantienen la misma estructura a través de sus diferentes páginas, es conveniente definir este layout como una única vista Blade:























Como se puede observar, este archivo contiene una estructura HTML típica. Sin embargo, se puede tomar nota de las directivas @section y @yield. La directiva @section, como su nombre indica, define un sección de contenido, mientras que la directiva @yield es utilizada para mostrar el contenido de una sección.

Una vez que se tiene definido un layout para la aplicación, se puede definir una página hija que hereda de este layout.

Heredar un layout

Cuando defina una vista hija, utilice la directiva Blade @extends para especificar de qué layout debe "heredar". Las vistas que extienden un layout de Blade pueden inyectar contenido en las secciones mediante las directivas @section. Recordar, como se ve en el ejemplo anterior, el contenido de estas secciones se mostrará el layout utilizando @yield:





















En este ejemplo, la sección sidebar está utilizando la directiva @parent para anexar (más que sobrescribir) contenido al sidebar de la plantilla padre. La directiva @parent será reemplazada por el contenido del layout cuando se procese la vista.

Contrariamente al ejemplo anterior, esta sección sidebar termina con @endsection en lugar de @show. La directiva @endserction definirá únicamente una sección mientras que @show definirá y enlazará inmediatamente la sección.

Las vistas de Blade pueden ser devueltas desde rutas usando el helper global view:

No hay comentarios:

Publicar un comentario