Mostrar contenido en Blade solo en producción o dependiendo del entorno
Mostrar u ocultar contenido en Blade dependiendo del environment que tenemos configurado.
Una de las cosas que me gusta hacer cuando trabajo en páginas web con Laravel es mostrar un pequeño indicador del entorno en el que nos encontramos, siempre y cuando este no sea producción.
También es muy común cargar ciertos scripts (por ejemplo, Google Analytics o Fathom, una alternativa a Google Analytics con mejor privacidad y hecha en Laravel) únicamente en producción, para que nuestras continuas recargas en local no contaminen nuestras estadísticas web.
Mostrar contenido solamente en producción en Laravel Blade
Para mostrar contenido únicamente en producción en Blade podemos usar la directiva @production
:
@production
<script src="https://..."></script>
@endproduction
Mostrar contenido dependiendo del environment en Laravel Blade
También podemos ser mucho más específicos y definir explícitamente en qué entorno(s) queremos que se ejecute ese contenido:
@env('staging')
<!-- Solamente visible en Staging -->
@endenv
@env(['staging', 'production'])
<!-- Solamente visible en staging y producción -->
@endenv