Mostrar contenido en Blade solo en producción o dependiendo del entorno

Mostrar u ocultar contenido en Blade dependiendo del environment que tenemos configurado.

Mostrar contenido en Blade solo en producción o dependiendo del entorno
Photo by ün LIU / Unsplash

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