Blade es un poderoso motor de plantillas, usado en Laravel. Ya he escrito dos posts:
Lo que nos reúne hoy aquí es cómo podemos declarar una variable dentro de una vista o template de Blade.
Su uso no se recomienda, pero a veces viene bien declarar variables dentro de nuestras plantillas; eso sí, no hay que abusar.
Establecer variable dentro de Blade
Vamos rápido. Para declarar una variable dentro de Blade hay que definir un bloque de código PHP y dentro de él, poner la definición. Así:
@php
$nombre = "parzibyte";
@endphp
Dentro del bloque podemos hacer más cosas que haríamos con PHP nativo, en este caso solamente estamos declarando una variable pero podríamos definir más de ellas siempre y cuando estén dentro de @php
y @endphp
.
Nota: si vas a crear más de una expresión, recuerda terminarla con punto y coma.
Hay una forma más corta y es esta:
@php($nombre = "Parzibyte")
En ese caso solamente usamos @php()
y dentro del paréntesis la declaramos.
Ejemplo de declaración de variable dentro de Blade
Estoy trabajando en un proyecto en donde se muestran unas imágenes en filas. La variable controla cuántas imágenes se muestran por fila. Declaro mi variable así:
@php
$mostrarPorFila = 3
@endphp
{{-- https://parzibyte.me/blog/2019/03/02/blade-laravel-ciclos-condicionales-token-csrf-componentes/ --}}
@forelse($articulo->fotos as $foto)
{{-- Aquí muestro las fotos --}}
@empty
<div class="columns">
<div class="column">
<h1 class="is-size-1">No hay fotos</h1>
</div>
</div>
@endforelse
Seguramente se podría mandar desde el controlador pero por el momento la dejaré ahí; espero no arrepentirme más tarde.
Si no entiendes lo de @forelse
mira los posts que dejé al inicio.