plantillas index gratis for documentacion descargar ciclo laravel templates blade

laravel - index - ¿Cuál es la diferencia entre Section y Stack en Blade?



laravel download (2)

La pila es de alguna manera apropiada para los scripts, con la pila se puede anexar todo lo que necesite.

@push(''scripts'') <script src="/example.js"></script> @endpush

Adjuntar …

<head> <!-- Head Contents --> @stack(''scripts'') </head>

Como puede ver, la pila de scripts se agregará a la etiqueta de script de example.js. Así que puedes empujar scripts especiales para cada vista.

Podemos usar una section para definir algo de HTML y luego yield en otro lugar.

Entonces, ¿por qué tenemos pilas? https://laravel.com/docs/5.2/blade#stacks

Está haciendo exactamente lo mismo con diferentes palabras clave, pero tiene menos opciones (Sin herencia).

@push(''scripts'') <script src="/example.js"></script> @endpush <head> <!-- Head Contents --> @stack(''scripts'') </head>

Se puede hacer con la sección:

@section(''scripts'') <script src="/example.js"></script> @endsection <head> <!-- Head Contents --> @yield(''scripts'') </head>


Puede que me equivoque, pero la diferencia no es solo semántica, sino también en el comportamiento. Con @push, usted agrega tantas veces como sea necesario a una pila, mientras que (de manera predeterminada) puede llenar @section solo una vez en sus vistas. En algunas situaciones, esto es útil cuando necesita agregar contenido de diferentes ubicaciones a través de sus archivos de plantilla o en bucles:

index.blade.php:

@extends(''master'') ... @for ($i = 0; $i < 3; $i++) @push(''test-push'') <script type="text/javascript"> // Push {{ $i }} </script> @endpush @section(''test-section'') <script type="text/javascript"> // Section {{ $i }} </script> @endsection @endfor

master.blade.php

@stack(''test-push'') @yield(''test-section'') </body>

resultado:

<script type="text/javascript"> // Push 0 </script> <script type="text/javascript"> // Push 1 </script> <script type="text/javascript"> // Push 2 </script> <script type="text/javascript"> // Section 0 </script> </body>