LARAVEL 5.5 Y ARRIBA
La directiva de la hoja @php ya no acepta etiquetas en línea. En su lugar, use la forma completa de la directiva:
@php
$i = 1
@endphp
LARAVEL 5.2 Y ARRIBA
Solo puedes usar:
@php ($i = 1)
O puede usarlo en una declaración de bloque:
@php
$i = 1
@endphp
LARAVEL 5
Extiende Blade así:
/*
|--------------------------------------------------------------------------
| Extend blade so we can define a variable
| <code>
| @define $variable = "whatever"
| </code>
|--------------------------------------------------------------------------
*/
\Blade::extend(function($value) {
return preg_replace('/\@define(.+)/', '<?php ${1}; ?>', $value);
});
Luego, realice una de las siguientes acciones:
Solución rápida: si eres flojo, solo coloca el código en la función boot () de AppServiceProvider.php.
Mejor solución: cree un proveedor de servicios propio. Vea https://stackoverflow.com/a/28641054/2169147 sobre cómo extender la cuchilla en Laravel 5. Es un poco más de trabajo de esta manera, pero un buen ejercicio sobre cómo usar Proveedores :)
LARAVEL 4
Simplemente puede poner el código anterior en la parte inferior de app / start / global.php (o en cualquier otro lugar si cree que es mejor).
Después de los cambios anteriores, puede usar:
@define $i = 1
para definir una variable